我实现了一个可以提取(并通过 fuse 安装)某种存档格式的小程序。我使用 boost::filesystem::ifstream
,但出现错误时(例如,用户想要提取的文件不存在),我收到非常难以描述的错误消息。我想知道有没有办法为 C++ 中的 IO 相关问题获取更好的错误消息?
在相关说明中,我想知道我是应该使用 C 的 FILE*
还是在 fuse 文件系统的情况下只使用普通文件描述符?因为 strerror(errno)
比 iostream 给我的要好得多。
最佳答案
我们找不到比使用 boost::iostreams 和实现我们自己的基于文件的接收器和源更好的方法了。
如果需要,可以在此处获取源代码(Apache 许可):
http://sourceforge.net/projects/cgatools/files/1.3.0/cgatools-1.3.0.9-source.tar.gz/download
相关文件是:
cgatools/util/Streams.[ch]pp
关于c++ - 获得更好的 iostream 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065532/