#include <fstream>
Um von einer Datei zu lesen, muss diese zuerst mit einem Dateinamen geöffnet werden. Beim "Öffnen" werden die Vorbereitungen für das Lesen getroffen.
In solchen "Vorbereitungen" sind folgende Aktionen enthalten:
Das Öffnen einer Datei kann gleich bei der Instanziierung mit dem Konstruktor oder später mit Hilfe der Elementfunktion open() erfolgen.
Wenn kein Lesen in der Datei mehr benötigt wird, sollte die Datei geschlossen werden, um Ressourcen zu sparen. Dies muss spätestens beim Beenden des Prozesses (main-Funktion) erfolgen. Dabei wird der Pufferspeicher wieder freigegeben.
Das Schließen kann explizit mit der Elementfunktion close() oder implizit durch den Destruktor des Einlesestreams erfolgen.
Beispiel:
Dieses Beipiel passt zu dem vorangegangenen Ausgabestream-Beispiel.
#include <fstream> #include <iostream> using namespace std; int main() { ifstream in("testfile.txt"); // Der Konstruktor hat das Öffnen der Datei gleich mit übernommen. if (!in.is_open()) cout << "Datei existiert nicht." << endl; else { cout << "Datei-Inhalt:" << endl; unsigned long n; do { in >> n; if (in.eof()) break; // Dateiende erreicht? cout << n << endl; }while (true); in.close(); // Datei schließen } return 0; } |
Eine Übung soll Ihre Kompetenz erhöhen ;-)