Se recomienda usar Visual Studio 2017

feof

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Pruebas de fin de archivo en una secuencia.

int feof(   
   FILE *stream   
);  

Parámetros

stream
Puntero a la estructura FILE .

El feof función devuelve un valor distinto de cero si se ha intentado una operación de lectura leer más allá del final del archivo; en caso contrario devuelve 0. Si el puntero de la secuencia es NULL, la función invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno está establecido en EINVAL y feof devuelve 0.

Consulte _doserrno, errno, _sys_errlist y _sys_nerr para obtener más información sobre estos y otros códigos de error.

El feof rutina (implementado como una función y como macro) determina si el final de stream se ha pasado. Cuando se pasa el final del archivo, leer las operaciones devuelven un indicador de fin de archivo hasta que la secuencia está cerrada o hasta que rewind, fsetpos, fseek, o clearerr se llama con ella.

Por ejemplo, si un archivo contiene 10 bytes y leer 10 bytes desde el archivo feof devolverá 0 porque, aunque es el puntero de archivo al final del archivo, no ha intentado leer más allá del final. Sólo después de intentar leer un byte 11 feof devuelven un valor distinto de cero.

FunciónEncabezado necesario
feof<stdio.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// 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;  
  
   fopen_s( &stream, "crt_feof.txt", "r" );  
   if( stream == NULL )  
      exit( 1 );  
  
   // Cycle until end of file reached:  
   while( !feof( stream ) )  
   {  
      // Attempt to read in 100 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 );  
}  

Line one.  
Line two.  

Salida

Number of bytes read = 19  

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Control de errores
E/S de secuencia
clearerr
_eof
fError
pError, _wperror

Mostrar: