Datenströme

Die Ein- und Ausgabe von Daten erfolgt in C++ häufig über sogenannte Ströme, englisch auch streams genannt. Die Standardbibliothek stellt in Form der iostreams Library verschiedene Klassen für die Ein und Ausgabe über diese Ströme zur Verfügung. Damit kann man dann auf Dateien, Strings oder die Konsole zugreife, und Ein- und Ausgaben tätigen

 

Die iostreams haben folgende Struktur:

 

tl_files/codenode/cppkurs/iostream1.png

 

 

Für den C++ Programmierer wird es hier ab der istream/ostream Ebene interessant. Von i- bzw. ostream leiten sich die Klassen i/ofstream und i/ostringstream ab, welche der Eingabe in Dateien bzw. Strings dienen. Mit std::cin kann man Daten aus der Konsolen Eingabe lesen, mit cout,cerr und clog entsprechende ausgaben tätigen. Wobei cerr in die Fehlerausgabe schreibt, und cout in den normalen Ausgabenstrom. std::clog ist als Loggingstream gedacht, und schreibt ebenfalls in die Fehlerausgabe wie cerr. Logging ist im C++ Standard nicht definiert. Auch sind cin,cout,cerr und clog keine eigenständigen Klassen, sondern globale Instanzen von i- bzw. ostream. Ebenfalls gibt es noch die Versionen wcin, wcout, wcerr und wclog für die Ein- und Ausgabe von Widecharacter Zeichen. (wchar_t ).