clearerr


function
<cstdio>
void clearerr ( FILE * stream );

Clear error indicators

Resets both the error and the EOF indicators of the stream.
When a stream function fails either because of an error or because the end of the file has been reached, one of these internal indicators may be set. These indicators remain set until either this, rewind, fseek or fsetpos is called.

Parameters

stream
Pointer to a FILE object that identifies the stream.


Return Value

None

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* writing errors */
#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");
      clearerr (pFile);
      }
    fgetc (pFile);
    if (!ferror (pFile))
      printf ("No errors reading myfile.txt\n"); 
    fclose (pFile);
  }
  return 0;
}


This program opens an existing file called myfile.txt for reading and causes an I/O error trying to write on it. That error is cleared using clearerr, so a second error checking returns false.

Output:

Error Writing to myfile.txt No errors reading myfile.txt

See also