2.1.9.2 feof

Description

The feof routine determines whether the end of stream has been reached. When end of file is reached, read operations return an end-of-file indicator until the stream is closed.

Syntax

int feof( FILE * stream )

stream
Pointer to FILE

Return

Returns a nonzero value after the first read operation that attempts to read past the end of the file. It returns 0 if the current position is not end of file. There is no error return.

Examples

EX1

//The following example uses feof to indicate when it reaches the end of your current C file. It also checks for errors with ferror.

void test_feof()
{
int  count, total = 0;
char buffer[100];
FILE *stream;

stream = fopen( __FILE__, "r" );
if(stream == NULL )
printf( "The current C file was not opened\n" );

// Cycle until end of file reached:
while( !feof( stream ) )
{
// Attempt to read in 10 bytes:
count = fread( buffer, sizeof( char ), 100, stream );
if( ferror( stream ) )

// Total up actual bytes read
total += count;
}

printf( "Number of bytes read = %d\n", total );
fclose( stream );
}