10

如何获取由返回的错误代码的消息int ferror(FILE*)?因为errnochar * strerror(int). ferror 返回的代码是什么?如果char * strerror(int)对它也有好处,那么我需要它的参考(我没有找到适合这种情况的任何指标)。

4

2 回答 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 回答