String durchsuchen und in Integerwerten abspeichern
-
Hallo ich habe folgengen String:
a = "3,1,3,1,5,10,"
Ich würde gerne den String so zerlegen, dass ich die durch kommagetrennten Werte einzeln habe und sie vom Typ integer sind.
Also int a = 3; int b = 1; int c = 3 usw...Kann mir da jemand helfen? Ich komme echt nicht zurecht! Ich habe schon in einem anderen Forum gepostet, aber mir konnte keiner helfen! Also PLEASE...
-
du wirst wohl nicht drum herum kommen, eine art "explode" funktion zu schreiben (aka tokenize). kurzes googlen brachte mir
void tokenize(const string& str, vector<string>& tokens, const string& delimiters = " ") { // Skip delimiters at beginning. string::size_type lastPos = str.find_first_not_of(delimiters, 0); // Find first "non-delimiter". string::size_type pos = str.find_first_of(delimiters, lastPos); while (string::npos != pos || string::npos != lastPos) { // Found a token, add it to the vector. tokens.push_back(str.substr(lastPos, pos - lastPos)); // Skip delimiters. Note the "not_of" lastPos = str.find_first_not_of(delimiters, pos); // Find next "non-delimiter" pos = str.find_first_of(delimiters, lastPos); } }(also angaben ohne gewähr)
damit müsstest du schreiben können:string a = "3,1,3,1,5,10,"; vector<string> tokens; Tokenize(a, tokens, ",");und jetzt entweder die strings im vector in zahlen verwandeln (siehe unsere FAQ) oder die funktion selbst ein bisschen umändern.
-
JUHU!!!! es funktioniert... vielen vielen Dank! ich habe jetzt fast zwei abende damit verbracht...