zahl aus string heraus"filtern"
-
Hallo,
ich hab jetzt z.B so was:
string mem = "MemTotal:57635kB"
jetzt will ich das ich dann eine variable habe wo die zahl(57635) drinne steht.
Wenn ich sscanf benutze habe ich dann einen anderen wert (weicht etwas ab).
Wie soll ich das am besten machen?
Vielen Dank
-
Lösch erstmal alle Zeichen, die keine Ziffer sind. Wenn die Zahl negativ sein kann, führendes - aber nicht.
Bye, TGGC (Demo or Die)
-
versuch mal ein einfaches:
atoi();
-
asr schrieb:
versuch mal ein einfaches:
atoi();Nachdem man den Anfang der "Zahl" kennt, ist das sicher die beste Wahl, aber auf den obigen String kann man es noch nicht direkt anwenden. Aber zum Glück kann man den sehr einfach finden:
//für Zahlen ohne Vorzeichen (benötigt <algorithm> und <cctype>): start=std::find_if(mem.begin(),mem.end(),isdigit); // für Zahlen mit Vorzeichen: inline bool isnumsign(char c) { return isdigit(c)||c=='+'||c=='-'; } start=std::find_if(mem.begin(),mem.end(),isnumsign);