C++官网参考链接:https://cplusplus.com/reference/cstdio/ferror/
函数
<cstdio>
ferror
int ferror ( FILE * stream );
检查错误指示符
检查是否设置了与stream相关的错误指示符,如果设置了则返回一个不等于0的值。
该指示符通常由失败的stream上的一个先前的操作设置,并通过调用clearerr,rewind或freopen来清除。
形参
stream
指向标识流的FILE对象的指针。
返回值
如果设置了与stream相关的错误指示符,则返回一个非0值。
否则,返回0。
用例
/* ferror example: writing error */
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile=fopen("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else {
fputc ('x',pFile);
if (ferror (pFile))
printf ("Error Writing to myfile.txt\n");
fclose (pFile);
}
return 0;
}
这个程序以只读模式打开一个名为myfile.txt的现有文件,但试图向其中写入一个字符,生成一个错误,ferror会检测到这个错误。
输出: