string nach zahl
-
Ich habe das ganze auch schonmal benötigt, such mal nach stringstream in der c++ Referenz, findest du wunderschöne Beispiele.
Ist ganz leicht;-).Jedoch müsstest du zuerst einmal deinen string in einzelne strings parsen, mit jeweils einer Zahl, sollte aber kein Problem sein.
EDIT:
Naja wieder mal zu lahm, aber ich hab hier mal n kleines Beispiel für dich;-)#include <sstream> string zahl = "80"; stringstream wert( zahl ); int value; wert >> value;Hoffe konnte dir helfen.
Gruß freeG
-
fr33g schrieb:
Jedoch müsstest du zuerst einmal deinen string in einzelne strings parsen, mit jeweils einer Zahl, sollte aber kein Problem sein.
Wozu? Stringstream kann mit beliebig vielen Zahlen umgehen.
-
stringstreams sind mir geläufig,
aber wie daraus die einzelnen zahlen rausfiltern?
-
SeppJ schrieb:
fr33g schrieb:
Jedoch müsstest du zuerst einmal deinen string in einzelne strings parsen, mit jeweils einer Zahl, sollte aber kein Problem sein.
Wozu? Stringstream kann mit beliebig vielen Zahlen umgehen.
Oh, ok tut mir leid, das wusste ich leider nicht;-)
-
#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.