Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
feof
div
Collapse the table of content
Expand the table of content

feof

Tests for end-of-file on a stream.

int feof( 
   FILE *stream 
);

Parameter

stream
Pointer to FILE structure.

Return Value

The feof function 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.

Remarks

The feof routine (implemented both as a function and as a macro) 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 or until rewind, fsetpos, fseek, or clearerr is called against it.

Requirements

Function Required header Compatibility
feof <stdio.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// crt_feof.c
/* This program uses feof to indicate when
 * it reaches the end of the file CRT_FEOF.TXT. It also
 * checks for errors with ferror.
 */

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

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

   if( (stream = fopen( "crt_feof.txt", "r" )) == NULL )
      exit( 1 );

   /* 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 ) )      {
         perror( "Read error" );
         break;
      }

      /* Total up actual bytes read */
      total += count;
   }
   printf( "Number of bytes read = %d\n", total );
   fclose( stream );
}

Input: crt_feof.txt

Line one.
Line two.

Output

Number of bytes read = 19

See Also

Error Handling Routines | Stream I/O Routines | clearerr | _eof | ferror | perror | Run-Time Routines and .NET Framework Equivalents

Show:
© 2015 Microsoft