function
<cstdio>

ferror

int ferror ( FILE * stream );
Check error indicator
Checks if the error indicator associated with stream is set, returning a value different from zero if it is.

This indicator is generally set by a previous operation on the stream that failed, and is cleared by a call to clearerr, rewind or freopen.

Parameters

stream
Pointer to a FILE object that identifies the stream.

Return Value

A non-zero value is returned in the case that the error indicator associated with the stream is set.
Otherwise, zero is returned.

Example

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;
}

This program opens an existing file called myfile.txt in read-only mode but tries to write a character to it, generating an error that is detected by ferror.

Output:
Error Writing to myfile.txt


See also