1

是否有任何开源文件 IO 库或 C++ 中的简单方法可以报告文件 IO 的详细和准确错误。举些例子; 如果用户没有读取或正确权限 - 或者磁盘已满等。

4

1 回答 1

0

C 样式文件操作默认执行此操作,您只需要在文件操作调用不成功后包含cerrornocstring使用: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_rlinux上有线程安全的。

于 2013-09-24T01:13:13.713 回答