C++ Dateien
C++ Dateien
Die fstream
-Bibliothek ermöglicht uns die Arbeit mit Dateien.
Um die fstream
-Bibliothek zu verwenden, schließen Sie sowohl den Standard <iostream>
und ein die Header-Datei <fstream>
:
Beispiel
#include <iostream>
#include <fstream>
In der fstream
-Bibliothek sind drei Klassen enthalten, die zum Erstellen, Schreiben oder Lesen von Dateien verwendet werden:
Klasse | Beschreibung |
---|---|
ofstream |
Erstellt und schreibt Dateien |
ifstream |
Aus Dateien lesen |
fstream |
Eine Kombination aus ofstream und ifstream: erstellt, liest und schreibt in Dateien |
Erstellen und Schreiben in eine Datei
Um eine Datei zu erstellen, verwenden Sie entweder die Klasse ofstream
oder fstream
und geben Sie den Namen der Datei an Datei.
Um in die Datei zu schreiben, verwenden Sie den Einfügeoperator (<<
).
Beispiel
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// Erstellen und öffnen Sie eine Textdatei
ofstream MyFile("filename.txt");
// Schreiben Sie in die Datei
MyFile << "Dateien können knifflig sein, aber es macht genug Spaß!";
// Schließen Sie die Datei
MyFile.close();
}
Warum schließen wir die Datei?
Dies gilt als bewährte Vorgehensweise und kann unnötigen Speicherplatz bereinigen.
Eine Datei lesen
Um aus einer Datei zu lesen, verwenden Sie entweder die Klasse ifstream
oder fstream
und den Namen der Datei.
Beachten Sie, dass wir auch eine while
-Schleife zusammen mit der Funktion getline()
verwenden (die zu gehört die ifstream
-Klasse), um die Datei Zeile für Zeile zu lesen und den Inhalt der Datei zu drucken:
Beispiel
// Erstellen Sie eine Textzeichenfolge, die zur Ausgabe der Textdatei verwendet wird
string myText;
// Lesen Sie aus der Textdatei
ifstream MyReadFile("filename.txt");
// Verwenden Sie eine While-Schleife zusammen mit der Funktion getline(), um die Datei Zeile für Zeile zu lesen
while (getline (MyReadFile, myText)) {
// Geben Sie den Text aus der Datei aus
cout << myText;
}
// Schließen Sie die Datei
MyReadFile.close();
Beispiel ausführen »
Vollständige <fstream>-Referenz
Eine vollständige Referenz der <fstream>-Klassen und -Funktionen finden Sie in unserer C++-fstream-Referenz.