Wortweise aus Datei in einen Container einlesen
-
Hallo,
ich möchte von einem geöffneten ifstream einlesen und den Inhalt wortweise in eine Liste pushen. Öffnen kann ich die Datei, aber wie kann ich Wort für Wort durchlaufen?
Gruß,
the_other_one
-
std::string word; in >> word; con.push_back(word);
-
hach doch so einfach.
Dank dir!
-
... oder als Einzeiler:
vector<string> con(istream_iterator<string>(in), istream_iterator<string>());
(OK, die Zeile "#include <iterator>" kommt noch dazu )
Gruß,
Simon2.
-
auch dir meinen Dank und den include hab ich sowieso schon
Aber für was ist hier der zweite Parameter? Bestimmung der Objektgröße?
-
the_other_one schrieb:
auch dir meinen Dank und den include hab ich sowieso schon
Aber für was ist hier der zweite Parameter? Bestimmung der Objektgröße?Der Konstruktor kopiert "von - bis" und ein "ungebundener" input_iterator (der erste ist an in "gebunden", der zweite ungebunden) ist sowas wie "end()".
Mal zum Vergleich:
void f(list<int>& myList) { vector<int> myVec1(myList.begin(), meyList.end()); // kopiert alle Elemente von myList in myVec // von .begin() bis end() vector<int> myVec2(istream_iterator<int>(inFile), istream_iterator<int>()) ...
Gruß,
Simon2.
-
alles klar, danke für die Erklärung.