string nach zahl
-
#include <iostream> #include <vector> #include <string> #include <sstream> using namespace std; int main() { string foo = "1 2 3 4 5 6 7"; stringstream ss(foo); int n; vector<int> v; while (ss >> n) v.push_back(n); cout << v; }Ausgabe:
[1, 2, 3, 4, 5, 6, 7]
-
Okidoki, dann weiß ich dass ja jetzt aus;-)
Gruß freeG
-
Janjan schrieb:
#include <iostream> #include <vector> #include <string> #include <sstream> using namespace std; int main() { string foo = "1 2 3 4 5 6 7"; stringstream ss(foo); int n; vector<int> v; while (ss >> n) v.push_back(n); cout << v; }Ausgabe:
[1, 2, 3, 4, 5, 6, 7]Warum so umständlich mit vector?
#include <iostream> #include <string> #include <sstream> using namespace std; int main() { string foo = "1 2 3 4 5 6 7"; istringstream is(foo); int n; while (is >> n) cout << n << ' '; cout << endl; }
-
vector<int> v; // ... cout << v;Irgendwas passiert hier, das ich nicht verstehe. Kann mich da mal jemand aufklären?
-
Mein Beispielprogram parset die Zahlen aus dem String und fügt diese Zahl für Zahl zum vector hinzu. Der Vector wird am Ende über cout ausgegeben.
-
Janjan schrieb:
Mein Beispielprogram parset die Zahlen aus dem String und fügt diese Zahl für Zahl zum vector hinzu. Der Vector wird am Ende über cout ausgegeben.
Überprüfe Dein Programm!

-
Janjan schrieb:
Mein Beispielprogram parset die Zahlen aus dem String und fügt diese Zahl für Zahl zum vector hinzu. Der Vector wird am Ende über cout ausgegeben.
Ich verstehe schon, was du meinst. Ich frage mich aber, in welcher STL-Implementierung es einen
ostream::operator<<(vector<int>)gibt.
-
Gibt es nicht, das ist eine Erweiterung von codepad.org. Aber das sollte jedem klar sein, wie man sowas kurzerhand selbst implementieren kann.
-
Gut dass ich das gelesen habe. Ich habe das gerade auf codepad getestet und hielt es schon fast für Standard.

-
Darf ich hier mal auf die FAQ hinweisen.