feof() : détecte une fin de fichier dans un flux.
Prototype:
int feof(FILE *stream);
dans: <stdio.h>
Description:
feof() teste l'indicateur de fin de fichier du flux stream.
Quand une lecture est tentée après que la dernière valeur ait été lue, l'indicateur de fin de fichier est armé. A partir de là tout appel à feof() renvoie une valeur non nulle et toute lecture échouera.
Remarque: après que la dernière valeur ait été lue, un appel feof() renvoie 0.
Les fonctions fseek() et rewind() modifient l'état de l'indicateur.
Valeur renvoyée:
- 0 si la fin de fichier n'est pas dépassée
- une valeur non nulle sinon
Voir aussi:
Portabilité:
système
UNIX,
DOS,
norme
ANSI.
Exemple:
/*
Le programme ci-dessous suppose qu'un fichier texte
de nom bidon.fic existe. Il est lu caractère par
caractère; la lecture s'arrête quand feof() renvoie
une valeur non nulle.
*/
#include
#include /* utilisation de exit() */
int main(void) {
FILE *stream;
char car;
/* ouvre un fichier en lecture */
stream = fopen("bidon.fic", "r");
if( stream==NULL ) {
printf( "Erreur à l'ouverture de bidon.fic\n");
exit(1);
}
/* lit un caractère dans le fichier */
car = fgetc(stream);
/* vérifie la fin dans le fichier */
while( !feof(stream)) {
printf("%c", car);
car = fgetc(stream);
}
/* referme le fichier */
fclose(stream);
return 0;
}