Dateiströme ifstream
, ofstream
und fstream
arbeiten auf Dateien.
Dazu wird eine Stromvariable mit einem Dateinamen verbunden.
Der Dateiname ist eine Zeichenkette,
ein std::string (C++11) oder
ein std::file_system::path (C++17).
void datei_ein_ausgabe() { std::ifstream in("eingabe.txt"); // Öffnen im Konstruktor std::ofstream out; out.open("output.txt"); if (out.is_open()) { out << "Ich war hier!" << endl; } out.close(); std::fstream binaer("datei.dat", std::ios_base::in | std::ios_base::out | std::ios_base::binary); }
Die Konstruktoren und open()
können neben dem Dateinamen ein zweites Argument aufnehmen,
dessen Werte in std::ios_base
definiert sind oder verodert werden können.
in | zum Lesen öffnen |
out | zum Schreiben öffnen |
binary | als Binärdatei statt als Textdatei |
ate | ans Ende gehen |
app | zum Anhängen öffnen |
trunc | Dateiinhalt löschen |
Offene Ströme werden automatisch vom Destruktor der Stromvariable geschlossen.