Share via


feof

Pruebas de fin de archivo en una secuencia.

int feof( 
   FILE *stream 
);

Parámetros

  • stream
    puntero a la estructura de FILE .

Valor devuelto

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

Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de error.

Comentarios

La rutina de feof (implementada como función como macro) determina si el final de stream se ha pasado.Cuando se pasa el final del archivo, las operaciones de lectura devuelven un indicador de final de archivo hasta que se cierre la secuencia o hasta rewind, fsetpos, fseek, o clearerr se denomina para él.

Por ejemplo, si un archivo contiene 10 bytes y se leen 10 bytes del archivo, feof devolverá 0 porque, aunque el puntero de archivo está en el final del archivo, no intentó leer más allá del final.Una vez que intenta leer un 11mo byte retorno de feof un valor distinto de cero.

Requisitos

Función

Encabezado necesario

feof

<stdio.h>

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

Ejemplo

// 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 );
}

entrada: crt_feof.txt

Line one.
Line two.

xssktc6e.collapse_all(es-es,VS.110).gifOutput

Number of bytes read = 19

Equivalente en .NET Framework

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

Vea también

Referencia

Control de errores (CRT)

E/S de la secuencia

clearerr

_eof

ferror

perror, _wperror