ferror()

Test a stream's error flag

Synopsis:

#include <stdio.h>

int ferror( FILE* fp );

Arguments:

fp
The stream whose error flag you want to test.

Library:

libc

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

Description:

The ferror() function tests the error flag for the stream specified by fp. It does not change the value of errno if the stream is valid.

Returns:

0 if the error flag isn't set, or nonzero if the error flag is set.

Examples:

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

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

    fp = fopen( "file", "r" );
    if( fp != NULL ) {
        c = fgetc( fp );
        if( ferror( fp ) ) {
            printf( "Error reading file\n" );
        }
    }
    fclose( fp );
    
    return EXIT_SUCCESS;
}

Classification:

ANSI, POSIX 1003.1

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