Einlesen von Dateien

Die Ein oder Ausgabe in eine Datei erfolgt wie oben gezeigt, die dafür verwendeten Streamklassen sind std::ifstream und std::ofstream. Diesen muss der Dateiname und optional die Flags zum öffnen/schreiben in den Konstruktor übergeben werden. Die Flags können mit | kombiniert werden, sie sind in std::ios_base::openmode definiert:

 

Name

Aufgabe

app

An die zum schreiben geöffnete Datei werden die zuschreibenden Daten angehangen. (Standardmäßig werden sie überschrieben)

ate

Setzt den Positionsmarker des Streams an das Ende des Streams beim öffnen. (ate = at end)

binary

Setzt den Stream in den binary modus, Standardmodus ist text

in

Öffnet den Stream für Eingaben

out

Öffnet den Stream für Ausgaben.

trunc

Leer den Stream, aller bisheriger Inhalt wird ignoriert.

 

Es besteht die Möglichkeit, aus einem Stream (also z.B. einer Datei) zeilenweise zu lesen, dies geht mit Hilfe von std::getline(std::istream&, std::string&):

 

std::ifstream in("test.txt");
std::string line;
while(std::getline(in,line))
    std::cout << line << std::endl;