istream und ostream sind spezielle Eingabestrom- bzw. Ausgabstrom-Iteratoren. Sie unterstützen das Einlesen eines Eingabestroms bzw. das Schreiben eines Ausgabestroms
istream_iterator
definiert einen Iterator it zum Einlesen von Elementen vom Typ T
des Eingabestroms istr. Wird istr weggelassen, dann wird it mit Stream-Ende initialisiert.
ostream_iterator
definiert einen Iterator it zum Schreiben von Elementen vom Typ T auf dem Ausgabestrom ostr. Ausgaben werden durch die Zeichenkette seperator getrennt.
// Beispiel zum lesen eines Eingabestroms aus der Datei input.txt #include <iostream> #include <fstream> #include <iterator> #include <string> int main() { // Eingabestrom fin: ifstream fin("input.txt"); istream_iterator<string> inIt(fin), end; while (inIt != end) cout << *inIt++ << endl; // Eingabestrom auf Konsole ausgeben return 0; }
// Beispiel zum lesen eines Eingabestroms aus der Datei input.txt // und schreiben der Ausgabe in der zweiten Datei output.txt #include <iostream> #include <fstream> #include <iterator> #include <string> int main() { // Eingabestrom fin: ifstream fin("input.txt"); // Ausgabestrom fout: ofstream fout("output.txt"); istream_iterator<string> inIt(fin), end; ostream_iterator<string> outIt(fout," "); while (inIt != end) *outIt++ = *inIt++; return 0; }