Beispiel 7: fstream VI

05.12.2016 01:31 Uhr
#include <iostream>

using namespace std;
#include <fstream>

int main()
{
char zeichenkette[100];

ifstream eingabe;

eingabe.open("daten.dat");
for (;;)
    {
    eingabe.getline(zeichenkette,100);
    if (eingabe.eof()) break;
    cout << "Erhalten: " << zeichenkette << endl;
    }
eingabe.close();
}

Beispiel 7: Erläuterungen I

#include <iostream>

using namespace std;
#include <fstream>

int main()
{
char zeichenkette[100];

ifstream eingabe;

eingabe.open("daten.dat");
for (;;)
    {
    eingabe.getline(zeichenkette,100);
    if (eingabe.eof()) break;
Es ist normalerweise sehr vernünftig, unmittelbar nach
einer Eingabeoperation festzustellen, ob sie eigentlich erfolgreich war,
bevor man die Daten verarbeitet. Vergleichen Sie das Ergebnis des Aufrufs dieser
Programmversion mit dem Aufruf der Version in Beispiel 6.
In solchen Fällen ist die oben verwendete Form der
for-Anweisung ("for (;;)") nützlich, die sich ins Deutsche etwa überträgt als
"Wiederhole Folgendes ad infinitum." Aus vermutlich offensichtlichen
Gründen sollte man bei Verwendung dieser Konstruktion sehr genau 
prüfen, ob auch wirklich sichergestellt ist, daß immer ein Abbruchkriterium
erreicht wird.
    cout << "Erhalten: " << zeichenkette << endl;
    }
eingabe.close();
}

Anhang: example7.zip

Schlagwörter: