feof
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<stdio.h>
|
||
|
int
feof
(
FILE
*
stream
)
;
|
||
Vérifie si la fin du flux de fichier donné a été atteinte.
Table des matières |
Paramètres
| stream | - | le flux de fichier à vérifier |
Valeur de retour
valeur non nulle si la fin du flux a été atteinte, sinon 0
Notes
Cette fonction ne signale que l'état du flux tel que rapporté par la dernière opération d'E/S, elle n'examine pas la source de données associée. Par exemple, si la dernière E/S était un
fgetc
, qui a renvoyé le dernier octet d'un fichier,
feof
renvoie zéro. Le prochain
fgetc
échoue et change l'état du flux en
fin-de-fichier
. Seulement alors
feof
renvoie une valeur non nulle.
En utilisation typique, le traitement du flux d'entrée s'arrête à toute erreur ;
feof
et
ferror
sont ensuite utilisés pour distinguer entre différentes conditions d'erreur.
Exemple
#include <stdio.h> #include <stdlib.h> int main(void) { const char* fname = "/tmp/unique_name.txt"; // or tmpnam(NULL); int is_ok = EXIT_FAILURE; FILE* fp = fopen(fname, "w+"); if (!fp) { perror("File opening failed"); return is_ok; } fputs("Hello, world!\n", fp); rewind(fp); int c; // note: int, not char, required to handle EOF while ((c = fgetc(fp)) != EOF) // standard C I/O file reading loop putchar(c); if (ferror(fp)) puts("I/O error when reading"); else if (feof(fp)) { puts("End of file is reached successfully"); is_ok = EXIT_SUCCESS; } fclose(fp); remove(fname); return is_ok; }
Sortie possible :
Hello, world! End of file is reached successfully
Références
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.21.10.2 La fonction feof (p: 339)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.19.10.2 La fonction feof (p: 305)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 4.9.10.2 La fonction feof
Voir aussi
|
efface les erreurs
(fonction) |
|
|
affiche une chaîne de caractères correspondant à l'erreur actuelle vers
stderr
(fonction) |
|
|
vérifie une erreur de fichier
(fonction) |
|
|
Documentation C++
pour
feof
|
|