【发布时间】:2016-06-01 12:22:38
【问题描述】:
我有一个应用程序可以根据特定配置写入多个文件。有时我们使用普通的 std:ostream,有时我们使用 opencv 或 boost 编写。
对于 std:ostream rdstate() 函数。 在我看来,最好的解决方案是,如果我可以使用某种通用方法(例如来自操作系统),它适用于每种机制。 有这样的吗?
如果没有,谁能告诉我有关类似于 rdstate() 的检查的文档? 谢谢
更新:
我用这些函数编写文件:
OpenCV:cv::VideoWriter << image
提升:boost::iostreams::file_sink->write
我找到了一种方法来检查bosst 案例的书面数据。 write 函数返回写入的字节数,我可以将其与预期的字节数进行比较。
对于 openCV 案例,我使用GetFileAttributesEx 确定文件大小并检查是否增加。
这是个好方法吗?
【问题讨论】:
-
您是否正在寻找一种适用于所有操作系统的方法?
-
不,我只需要窗户
-
检查错误的一般方法是调用 GetLastError()。
-
@Ian 这完全脱离了上下文。
-
如果您可以为您拥有的所有不同类型的写入发布示例,将会很有帮助。然后,一个解决方案可能是创建一个宏来包裹它们。
标签: c++ opencv boost io filesystems