Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

fgetc()

Read a character from a stream

Synopsis:

#include <stdio.h>

int fgetc( FILE* fp );

Arguments:

fp
The stream from which you want to read a character.

Library:

libc

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

Description:

The fgetc() function reads the next character from the stream specified by fp.

Returns:

The next character from fp, cast as (int)(unsigned char), or EOF if end-of-file has been reached or if an error occurs (errno is set).


Note: Use feof() or ferror() to distinguish an end-of-file condition from an error.

Examples:

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

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

    fp = fopen( "file", "r" );
    if( fp != NULL ) {
        while( (c = fgetc( fp )) != EOF ) {
            fputc( c, stdout );
        }
        fclose( fp );
        
        return EXIT_SUCCESS;
    }
    
    return EXIT_FAILURE;
}

Classification:

ANSI, POSIX 1003.1

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

See also:

errno, feof(), ferror(), fgetchar(), fgets(), fopen(), fputc(), getc(), gets(), ungetc()