Compartir vía


_eof

Pruebas de fin de archivo (EOF).

Sintaxis

int _eof(
   int fd
);

Parámetros

fd
Descriptor de archivo que hace referencia al archivo abierto.

Valor devuelto

_eof devuelve 1 si la posición actual es el final del archivo o 0 si no lo está. Un valor devuelto de -1 indica un error; en este caso, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, errno se establece en EBADF, que indica un descriptor de archivo no válido.

Comentarios

La función _eof determina si se ha llegado al final del archivo asociado a fd.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Función Encabezado necesario Encabezado opcional
_eof <io.h> <errno.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_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>
#include <share.h>

int main( void )
{
   int  fh, count, total = 0;
   char buf[10];
   if( _sopen_s( &fh, "crt_eof.txt", _O_RDONLY, _SH_DENYNO, 0 ) )
   {
        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 );
}

Entrada: crt_eof.txt

This file contains some text.

Salida

Number of bytes read = 29

Consulte también

Control de errores
E/S de bajo nivel
clearerr
feof
ferror
perror, _wperror