Nur versuchen, Zahlen aus einer Zeichenfolge mithilfe von Codeblöcken zu erhalten. Ich weiß nicht, ob Code-Blöcke fehlerhaft sind, weil ich gehört habe, dass es ein Problem gibt, wenn ich die Stoi-Funktion verwende.Kann keine Zahleneingabe von Zeichenfolge erhalten
nur versucht, folgendes zu tun:
String-Eingang;
cin>>input;// user defined such as input="he gave 6 apples " (taking only one number no matter how big)
int a;
a=stoi(input);// will be 6
Lieber Zeichenliterale anstelle von dezimalem ASCII-Code verwenden. Beispiel: '0' anstelle von 48. –
Ihre Verwendung von 'atoi' gibt nur eine umgewandelte Ziffer zurück. Versuchen Sie es mit 'std :: istringstream' und' std :: getline'. –
Geben Sie auch 'std :: string' als Referenz ein. Die 'Zeichenfolge' ist ein großes Objekt und benötigt viel Platz, wenn eine Kopie erstellt und an die Funktion übergeben wird. Bevorzugen Sie die 'const'-Referenz, wenn die Zeichenfolge nicht geändert wird. –