Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Tests for end-of-file.
int_eof(inthandle**);**
| Function | Required Header | Optional Headers | Compatibility | 
| _eof | <io.h> | <errno.h> | Win 95, Win NT | 
For additional compatibility information, see Compatibility in the Introduction.
Libraries
| LIBC.LIB | Single thread static library, retail version | 
| LIBCMT.LIB | Multithread static library, retail version | 
| MSVCRT.LIB | Import library for MSVCRT.DLL, retail version | 
Return Value
_eof returns 1 if the current position is end of file, or 0 if it is not. A return value of –1 indicates an error; in this case, errno is set to EBADF, which indicates an invalid file handle.
Parameter
handle
Handle referring to open file
Remarks
The _eof function determines whether the end of the file associated with handle has been reached.
Example
/* EOF.C: This program reads data from a file
 * ten bytes at a time until the end of the
 * file is reached or an error is encountered.
 */
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
   int  fh, count, total = 0;
   char buf[10];
   if( (fh = _open( "eof.c", _O_RDONLY )) == - 1 )
   {
        perror( "Open failed");
        exit( 1 );
   }
   /* Cycle until end of file reached: */
   while( !_eof( fh ) )
   {
      /* Attempt to read in 10 bytes: */
      if( (count = _read( fh, buf, 10 )) == -1 )
      {
         perror( "Read error" );
         break;
      }
      /* Total actual bytes read */
      total += count;
   }
   printf( "Number of bytes read = %d\n", total );
   _close( fh );
}
Output
Number of bytes read = 754