是否有任何开源文件 IO 库或 C++ 中的简单方法可以报告文件 IO 的详细信息和确切错误。举些例子;如果用户没有读取或正确的权限 - 或者磁盘已满等。
最佳答案
C 样式文件操作默认执行此操作,您只需要包含 cerrorno
和 cstring
并使用 strerror
文件操作调用失败后:
hFile = fopen(fname, "r+b");
/*-- attempt to create the file if we can't open it for reading --*/
if(!hFile) {
/*-- print out relevant error information --*/
printf("Open File %s Failed, %s\n", fname, std::strerror(errno));
return 1;
}
return 0;
当然,如果您使用 C 风格的文件操作。我认为 ifstream 在大多数编译器上也支持这些。
请注意,此功能在某些实现上不是线程安全的。有 strerror_r
在线程安全的 Linux 上。
关于c++ - C++ 中的详细文件 IO 错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971376/