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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert in Header
<cstdio>
|
||
|
int
feof
(
std::
FILE
*
stream
)
;
|
||
Überprüft, ob das Ende des angegebenen Dateistroms erreicht wurde.
Inhaltsverzeichnis |
Parameter
| stream | - | der zu prüfende Dateistrom |
Rückgabewert
Ein Wert ungleich Null, wenn das Ende des Streams erreicht wurde, andernfalls 0 .
Hinweise
Diese Funktion meldet nur den Stream-Zustand, wie er vom letzten I/O-Vorgang gemeldet wurde; sie untersucht nicht die zugehörige Datenquelle. Beispielsweise, wenn der letzte I/O-Vorgang ein
std::fgetc
war, der das letzte Byte einer Datei zurückgab, gibt
std::feof
null zurück. Der nächste
std::fgetc
schlägt fehl und ändert den Stream-Zustand in
end-of-file
. Erst dann gibt
std::feof
einen Wert ungleich null zurück.
Im typischen Gebrauch stoppt die Eingabestromverarbeitung bei jedem Fehler;
feof
und
std::ferror
werden dann verwendet, um zwischen verschiedenen Fehlerzuständen zu unterscheiden.
Beispiel
#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; // Hinweis: int, nicht char, erforderlich um EOF zu verarbeiten while ((c = std::fgetc(fp)) != EOF) // Standard C I/O Dateileseschleife 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; }
Ausgabe:
End of file reached successfully
Siehe auch
|
prüft, ob das Dateiende erreicht wurde
(öffentliche Elementfunktion von
std::basic_ios<CharT,Traits>
)
|
|
|
löscht Fehlerindikatoren
(Funktion) |
|
|
gibt eine dem aktuellen Fehler entsprechende Zeichenkette an
stderr
aus
(Funktion) |
|
|
prüft auf einen Dateifehler
(Funktion) |
|
|
C-Dokumentation
für
feof
|
|