gpt4 book ai didi

c++ - 有没有一种通用的方法可以用 C++ 检测文件写入错误?

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:59 24 4
gpt4 key购买 nike

我有一个应用程序,它根据特定的配置写入多个文件。有时我们使用普通的 std:ostream,有时我们使用 opencv 或 boost 编写。

用于 std:ostream rdstate() 函数。在我看来,最好的解决方案是,如果我可以使用某种适用于每种机制的通用方法(例如来自操作系统)。有这样的吗?

如果没有,谁能告诉我有关类似于 rdstate() 的检查的文档?谢谢

更新:
我用这些函数编写文件:
OpenCV:cv::VideoWriter << image
boost :boost::iostreams::file_sink->write

我找到了一种方法来检查 bosst 案例的书面数据。 write函数返回写入的字节数,我可以将其与预期的字节数进行比较。对于我使用的 openCV 案例 GetFileAttributesEx确定文件大小并检查是否增加。这样好吗?

最佳答案

如果写入文件的底层操作系统调用返回错误指示,我希望 std::ostreamfail() 状态结束。

您只需要勤于检查 std::ostream 的状态,包括在显式 close() 之后,因为写入时可能会遇到写入错误输出缓冲数据的最后几位。

关于c++ - 有没有一种通用的方法可以用 C++ 检测文件写入错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37568539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com