ILE C/C++ Run-Time Library Functions


clearerr() -- Reset Error Indicators

Format

#include <stdio.h>
void clearerr (FILE *stream);

Language Level: ANSI

Threadsafe: Yes.

Description

The clearerr() function resets the error indicator and end-of-file indicator for the specified stream. Once set, the indicators for a specified stream remain set until your program calls the clearerr() function or the rewind() function. The fseek() function also clears the end-of-file indicator. The ILE C/C++ run-time environment does not automatically clear error or end of file indicators.

Return Value

There is no return value.

The value of errno may be set to:

Value
Meaning

EBADF
The file pointer or descriptor is not valid.

ENOTOPEN
The file is not open.

ESTDIN
stdin cannot be opened.

EIOERROR
A non-recoverable I/O error occurred.

EIORECERR
A recoverable I/O error occurred.

Example that uses clearerr()

This example reads a data stream, and then checks that a read error has not occurred.


#include <stdio.h>
#include <stdlib.h>
 
FILE *stream;
int c;
 
int main(void)
{
   if ((stream = fopen("mylib/myfile", "r")) != NULL)
   {
      if ((c=getc(stream)) == EOF)
      {
         if (ferror(stream))
         {
            perror("Read error");
            clearerr(stream);
         }
      }
   }
   else
      exit(0);
}

Related Information


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]