kleine Frage
-
Hallo,
und zwar hat man mir hier vor kurzem geholfen, wie man einen Textdateiinhalt formatiert auf der Konsole ausgeben kann. Es funktioniert auch alles bestens, doch eine kleine Frage hab ich noch. Das sollte für die Kenner eigentlich kein Problem sein. Und zwar hier erstmal der Code um den es geht:
#include <iostream> #include <fstream> using namespace std; int main () { ifstream infile ("test.txt"); while (infile.good()) cout << (char) infile.get(); infile.close(); return 0; }
So nun die Frage: Und zwar was macht eigentlich die Funktion good() speziell in diesem Beispiel. Sie liefert ja wahrscheinlich 1 oder 0. Aber wann tut sie das? Danke schon einmal im Voraus für eure Hilfe.
-
Referenz?
-
Soviel ich weiß, überprüft good(), ob die Leseposition noch innerhalb der Daten ist. Das Datenende ist mit EOF (End of File) gekennzeichnet und good() liefert 0 zurück.
-
Hallo,
Genauer gesagt liefert good() true wenn weder eofbit noch failbit noch badbit gesetzt sind. Andersherum gesagt liefert good() false wenn irgendein Fehler beim Lesen aus dem Stream aufgetreten ist (nicht nur eof).
siehe auch Standard 27.4.4.3Ciao
-
Danke danke für die ganzen schnellen Antworten. Hat mir echt weitergeholfen.