clearerr()

Clear a stream's end-of-file and error flags

Synopsis:

#include <stdio.h>

void clearerr( FILE *fp );

Arguments:

fp
The stream for which you want to clear the flags.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The clearerr() function clears the end-of-file and error flags for the stream specified by fp.

These indicators are also cleared when the file is opened, or by an explicit call to clearerr() or rewind().

Examples:

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    FILE *fp;
    int c;

    c = 'J';
    fp = fopen( "file", "w" );
    if( fp != NULL ) {
      fputc( c, fp );
      if( ferror( fp ) ) {  /* if error        */
          clearerr( fp );   /* clear the error */
          fputc( c, fp );   /* and retry it    */
      }
    }

    fclose( fp );

    return EXIT_SUCCESS;
}

Classification:

ANSI, POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

feof(), ferror(), fopen(), perror(), rewind()