如何获取由返回的错误代码的消息int ferror(FILE*)
?因为errno
有char * strerror(int)
. ferror 返回的代码是什么?如果char * strerror(int)
对它也有好处,那么我需要它的参考(我没有找到适合这种情况的任何指标)。
问问题
4943 次
2 回答
12
从这个参考页面:
ferror ()函数应测试 stream 指向的流的错误指示符。
这意味着ferror
返回一个布尔值,告诉你是否有错误,仅此而已。但根据 POSIX 规范errno
,如果发生故障, 的值将包含错误代码。
于 2013-03-18T09:50:51.413 回答
3
该库libexplain
可以返回 ferror 的字符串。https://linux.die.net/man/3/explain_ferror
来自文档:
if (ferror(fp) < 0)
{
fprintf(stderr, "%s\n", explain_ferror(fp));
exit(EXIT_FAILURE);
}
于 2020-03-16T19:57:15.503 回答