getc()

Get the next character from a file

Synopsis:

#include <stdio.h>

int getc( FILE* fp );

Arguments:

fp
The stream you want to get the character from.

Library:

libc

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

Description:

The getc() macro gets the next character from the stream designated by fp. The character is returned as an int value.

Returns:

The next character from the stream fp, cast as (int)(unsigned char), or EOF if an end-of-file or error condition 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 = getc( fp )) != EOF ) {
            putchar(c);
        }

        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

Caveats:

getc() is a macro.

See also:

errno, feof(), ferror(), fgetc(), fgetchar(), fgets(), fopen(), getchar(), gets(), putc(), putc_unlocked(), putchar(), putchar_unlocked(), ungetc()