feof

#include <stdio.h>

void feof (FILE * fp) ;

Cette fonction teste si une fin de fichier (EOF) a été détectée par une opération précédente sur le fichier. Certaines fonctions ne permettent pas de déterminer explicitement qu’une fin de fichier a été atteinte. Ainsi gets() rend un pointeur NULL dans deux cas : la fin de fichier et une erreur. L’appel à feof permet de lever le doute.

La valeur retournée par EOF est différente de 0 (true) si EOF a été détectée et 0 sinon (false).

L’exemple suivant constitue un cas typique d’utilisation :

char tab[100] ;

while ( !(feof(stdin)) {

s = gets(tab) ; /* Lecture d’une chaîne de caractères */

}

http://en.wikipedia.org/wiki/Feof

Certaines fonctions (getc ou getchar par exemple) rendent soit le caractère lu, soit la valeur EOF. On peut donc tester directement cette valeur pour savoir si la fin de fichier a été atteinte. (Voir l'entrée getchar pour un exemple et la nécessité de déclarer le résultat comme étant du type int et non du type char). 

» Glossaire du langage C