ferror()的消息文本返回值

时间:2013-03-18 09:45:39

标签: c++ c error-handling io

如何获取int ferror(FILE*)返回的错误代码的消息?对于errno,有char * strerror(int)。什么是ferror返回的代码?如果char * strerror(int)对此也有好处,那么我需要一个参考(我没有找到这种情况的任何指标)。

2 个答案:

答案 0 :(得分:7)

来自this reference page

  

ferror()函数应测试流指向的流的错误指示符。

这意味着ferror返回一个布尔值,告诉您是否有错误,仅此而已。所有标准FILE*函数也会在出错时设置errno

答案 1 :(得分:2)

libexplain可以返回错误字符串。 https://linux.die.net/man/3/explain_ferror 从文档中:

if (ferror(fp) < 0)
{
    fprintf(stderr, "%s\n", explain_ferror(fp));
    exit(EXIT_FAILURE);
}