| ![[Previous]](../image-lib/prev.gif) | ![[Contents]](../image-lib/contents.gif) | ![[Next]](../image-lib/next.gif) | 
Read a character from a stream
#include <stdio.h> int fgetc( FILE* fp );
libc
The fgetc() function reads the next character from the stream specified by fp.
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).
#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;
}
| Safety: | |
|---|---|
| Cancellation point | Yes | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | Yes | 
errno, fgetchar(), fgets(), fopen(), getc(), gets(), ungetc()
| ![[Previous]](../image-lib/prev.gif) | ![[Contents]](../image-lib/contents.gif) | ![[Next]](../image-lib/next.gif) |