std:: feof
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<cstdio>
|
||
|
int
feof
(
std::
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 rapporte uniquement 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
std::fgetc
, qui a retourné le dernier octet d'un fichier,
std::feof
retourne zéro. Le prochain
std::fgetc
échoue et change l'état du flux en
fin-de-fichier
. Seulement alors
std::feof
retourne une valeur non nulle.
En utilisation typique, le traitement du flux d'entrée s'arrête lors de toute erreur ;
feof
et
std::ferror
sont ensuite utilisés pour distinguer entre différentes conditions d'erreur.
Exemple
#include <cstdio> #include <cstdlib> int main() { int is_ok = EXIT_FAILURE; FILE* fp = std::fopen("/tmp/test.txt", "w+"); if (!fp) { std::perror("File opening failed"); return is_ok; } int c; // Note: int, not char, required to handle EOF while ((c = std::fgetc(fp)) != EOF) // Standard C I/O file reading loop std::putchar(c); if (std::ferror(fp)) std::puts("I/O error when reading"); else if (std::feof(fp)) { std::puts("End of file reached successfully"); is_ok = EXIT_SUCCESS; } std::fclose(fp); return is_ok; }
Sortie :
End of file reached successfully
Voir aussi
|
vérifie si la fin de fichier a été atteinte
(fonction membre publique de
std::basic_ios<CharT,Traits>
)
|
|
|
efface les erreurs
(fonction) |
|
|
affiche une chaîne de caractères correspondant à l'erreur courante vers
stderr
(fonction) |
|
|
vérifie une erreur de fichier
(fonction) |
|
|
documentation C
pour
feof
|
|