Stream-Iteratoren
- cin >> from >> to; ← es werden keine Fehler abgefangen
- .c_str() Char-Array-String, der mit 0 terminiert wird „Test“ = ‚T‘ ‚e‘ ’s‘ ‚t‘ ‚
Skip to content Menu Close
Programmieren, Algorithmen und Datenstrukturen 2 (Vorlesung 15)
Stream-Iteratoren
- cin >> from >> to; ← es werden keine Fehler abgefangen
- .c_str() Char-Array-String, der mit 0 terminiert wird „Test“ = ‚T‘ ‚e‘ ’s‘ ‚t‘ ‚\0‘
- Wir müssen STL-String in Char-Array umwandeln, weil das OS es so verlangt
- ifstream = input file stream
- istream_iterator<string> eos; ← Standardmäßig auf letztem Element
Erstellen einer Wortliste aus einem Textfile
#include <string> #include <iterator> #include <set> #include <iostream> #include <fstream> using namespace std; int main( ) { // Dateinamen für Quell- und Zieldatei einlesen: string from, to; cin >> from >> to; // Ein- und Ausgabe-Stream erstellen: ifstream is( from.c_str() ); ofstream os( to.c_str() ); // Stream-Iterator zur Eingabe: istream_iterator<string> ii( is ); // "end-of-stream" (wird standardmäßig auf EOF/end-of-file gesetzt): istream_iterator<string> eos; // Stream-Iterator zur Ausgabe, der jedesmal "\n" anhängt: ostream_iterator<string> oo( os, "\n" ); // Das set-Objekt namens buffer wird mit dem Input initialisiert: set<string> buffer( ii, eos ); //multiset<string> buffer( ii, eos ); // buffer wird in die Ausgabedatei kopiert (set ist bereits sortiert und ohne Duplikate) copy( buffer.begin(), buffer.end(), oo ); return 0; }‘ - Wir müssen STL-String in Char-Array umwandeln, weil das OS es so verlangt
- ifstream = input file stream
- istream_iterator<string> eos; ← Standardmäßig auf letztem Element
Erstellen einer Wortliste aus einem Textfile
#include <string>
#include <iterator>
#include <set>
#include <iostream>
#include <fstream>
using namespace std;
int main( ) {
// Dateinamen für Quell- und Zieldatei einlesen:
string from, to;
cin >> from >> to;
// Ein- und Ausgabe-Stream erstellen:
ifstream is( from.c_str() ); ofstream os( to.c_str() );
// Stream-Iterator zur Eingabe:
istream_iterator<string> ii( is );
// "end-of-stream" (wird standardmäßig auf EOF/end-of-file gesetzt):
istream_iterator<string> eos;
// Stream-Iterator zur Ausgabe, der jedesmal "\n" anhängt:
ostream_iterator<string> oo( os, "\n" );
// Das set-Objekt namens buffer wird mit dem Input initialisiert:
set<string> buffer( ii, eos );
//multiset<string> buffer( ii, eos );
// buffer wird in die Ausgabedatei kopiert (set ist bereits sortiert und ohne Duplikate)
copy( buffer.begin(), buffer.end(), oo );
return 0;
}