feof

Sintaxis

#include <stdio.h>

int feof(FILE *file);

Descripción

Esta función se emplea para saber si se ha intentado leer después del final de fichero, no para saber si el cursor está al final de fichero.

Valor devuelto

Distinto de cero si el cursor está al final del fichero, cero en otro caso.

Portabilidad

ANSI, POSIX

Ejemplo

La función numLineasFicheroTexto devuelve el número de líneas de un fichero texto, con un tamaño máximo de línea prefijado. Tiene como parámetro un puntero al descriptor del fichero.

#include <stdio.h>
#include <stdlib.h>
#define MAXLINEA 1024
int numLineasFicheroTexto(FILE *fentrada){
   char linea[MAXLINEA];
   int nlineas=0;
   while(feof(fentrada))
      if(fgets(linea,MAXLINEA,fentrada)!=NULL) nlineas++;
   return nlineas;
}

Nótese que la función anterior no es igual a la siguiente:

int numLineasFicheroTexto(FILE *fentrada){
   char linea[MAXLINEA];
   int nlineas=0;
   while(feof(fentrada)) {
      fgets(linea,MAXLINEA,fentrada);
      nlineas++;    /* Se contabiliza una línea más que en la primera versión */   
   }
   return nlineas;
}