#include <stdio.h> int feof(FILE *file);
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.
Distinto de cero si el cursor está al final del fichero, cero en otro caso.
ANSI, POSIX
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;
}