函数
<cstdio>

ferror

int ferror ( FILE * stream );
检查错误指示符
检查与 stream 关联的错误指示符是否已设置,如果已设置,则返回一个非零值。

此指示符通常由先前失败的 stream 操作设置,并通过调用 clearerrrewindfreopen 来清除。

参数

stream
指向一个 FILE 对象的指针,该对象标识了流。

返回值

如果与流关联的错误指示符已设置,则返回一个非零值。
否则,返回零。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 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.

输出
Error Writing to myfile.txt


另见