Lesen Sie alle integerzahlen aus string c++
Ich brauche Hilfe mit immer die zahlen von std::string und bekommen jede dieser ganze Zahl in eine int-variable.
String Beispiel:
<blah> hi 153 67 216
Ich würde gerne das Programm zu ignorieren, die "bla" und "hi" und speichern jede der ganzen zahlen in eine int-variable. So kommt es werden wie:
a = 153
b = 67
c = 216
Dann kann ich frei drucken jede einzeln wie:
printf("First int: %d", a);
printf("Second int: %d", b);
printf("Third int: %d", c);
Dank!
Durchsuchen Sie diese website. Diese wurde gestellt und beantwortet Tausende Male.
Was ist
es könnte alles sein "sdnjid bla hi 23 35 2" es war nur ein Beispiel
Was ist
<blah>
soll das sein?es könnte alles sein "sdnjid bla hi 23 35 2" es war nur ein Beispiel
InformationsquelleAutor Mike | 2013-06-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihre eigene Funktion erstellen, die bearbeitet ein
std::ctype
Facette, indem es seinescan_is
Methode. Dann können Sie wieder die generierte Zeichenfolge in einestringstream
- Objekt und fügen Sie die Inhalte in Ihrer ganzen zahlen:Demo
...aber Es fehlt
#include <iterator>
fürstd::back_inserter
Du hast Recht, danke. 😉
Dies ist für die gcc-4.7.2 Recht?
Ja, dieser code funktioniert für die gcc-4.7.2+. Ist dieser code nicht kompilieren für Sie? Sind Sie immer Fehler?
InformationsquelleAutor 0x499602D2
std::isdigit()
zu prüfen, ob ein Zeichen eine Ziffer. Bis Platz nicht erreicht wird, fügen sich schrittweise zu einem separatenstring
.std::stoi()
konvertieren den string in eine int.clear()
Methode.Wiederholen bis zum Ende der base-string ist nicht erreicht.
InformationsquelleAutor Alexandru Barbarosie
Ersten Verwendung string tokenizer
Dann, wenn Sie nicht genau wissen, wie viele Werte, die Sie erhalten, sollten Sie nicht verwenden einzelne Variablen
a b c
, sondern ein array wieint input[200]
, oder besser, einestd::vector
, die anpassen können, um die Anzahl der Elemente, die Sie Lesen.Müssen Sie:
Durch die Art und Weise, wenn Sie die Programmierung C++, möchten Sie vielleicht zu vermeiden, mit
printf
, und lieberstd::cout
InformationsquelleAutor Antonio
InformationsquelleAutor abe312
Eine Zeile Lesen string-und integer extrahieren aus,
ganze zahlen werden gespeichert in int_var_arr[]
InformationsquelleAutor ReGo