std::basic_ios<CharT,Traits>:: eof
|
bool
eof
(
)
const
;
|
||
Gibt
true
zurück, wenn der assoziierte Stream das Dateiende erreicht hat. Genauer gesagt wird
true
zurückgegeben, wenn
eofbit
in
rdstate()
gesetzt ist.
Siehe
ios_base::iostate
für die Liste der Bedingungen, die
eofbit
setzen.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
true wenn ein Dateiende aufgetreten ist, false andernfalls.
Hinweise
Diese Funktion meldet nur den Stream-Zustand, wie er durch den letzten E/A-Vorgang gesetzt wurde; sie untersucht nicht die zugehörige Datenquelle. Zum Beispiel, wenn der letzte E/A-Vorgang ein
get()
war, der das letzte Byte einer Datei zurückgab,
eof()
gibt
false
zurück. Der nächste
get()
kann nichts lesen und setzt das
eofbit
. Erst dann gibt
eof()
true
zurück.
Im typischen Gebrauch stoppt die Eingabestromverarbeitung bei jedem Fehler.
eof()
und
fail()
können dann verwendet werden, um zwischen verschiedenen Fehlerzuständen zu unterscheiden.
Beispiel
#include <cstdlib> #include <fstream> #include <iostream> int main() { std::ifstream file("test.txt"); if (!file) // operator! is used here { std::cout << "Dateiöffnung fehlgeschlagen\n"; return EXIT_FAILURE; } // typical C++ I/O loop uses the return value of the I/O function // as the loop controlling condition, operator bool() is used here for (int n; file >> n;) std::cout << n << ' '; std::cout << '\n'; if (file.bad()) std::cout << "E/A-Fehler beim Lesen\n"; else if (file.eof()) std::cout << "Dateiende erfolgreich erreicht\n"; else if (file.fail()) std::cout << "Nicht-ganzzahlige Daten gefunden\n"; }
Siehe auch
Die folgende Tabelle zeigt die Werte der basic_ios Accessoren ( good() , fail() , etc.) für alle möglichen Kombinationen der ios_base::iostate Flags:
| ios_base::iostate Flags |
basic_ios
Accessoren
|
|||||||
eofbit
|
failbit
|
badbit
|
good() | fail() | bad() | eof() | operator bool | operator! |
| falsch | falsch | falsch | wahr | falsch | falsch | falsch | wahr | falsch |
| false | false | true | false | true | true | false | false | true |
| falsch | wahr | falsch | falsch | wahr | falsch | falsch | falsch | wahr |
| false | true | true | false | true | true | false | false | true |
| wahr | falsch | falsch | falsch | falsch | falsch | wahr | wahr | falsch |
| wahr | falsch | wahr | falsch | wahr | wahr | wahr | falsch | wahr |
| wahr | wahr | falsch | falsch | wahr | falsch | wahr | falsch | wahr |
| wahr | wahr | wahr | falsch | wahr | wahr | wahr | falsch | wahr |
|
prüft auf Dateiende
(Funktion) |