Ich schrieb den Code unten, dieValidate Konsole Eingabe in C++
char input[100];
cin.getline(input, sizeof(input));
stringstream stream(input);
while (stream.rdbuf()->in_avail() != 0) {
int n;
stream >> n;
numbers.push_back(n);
}
in einem Fall von gültigem Eingang funktioniert aber nicht, wenn ich etwas anstelle einer Zahl setzen. Wie kann ich falsch eingegeben (z. B. einen beliebigen Buchstaben)?
Ich glaube, Sie müssen die Zeichenfolge 'iterieren input' wenn es zu prüfen, nur von ganzzahligen Ziffern zusammengesetzt ist, bevor es in' n' –
Mögliche Duplikat http Lesung: // Stackoverflow .com/questions/4654636/how-to-bestimmen-wenn-eine-Zeichenfolge-ist-eine-Nummer-mit-c –
Mögliche Duplikat von [Ganzzahleingabe Validierung, wie?] (http://stackoverflow.com/questions/13212043/integer-input-validation-how), [Gute Eingangsvalidierungsschleife mit cin - C++] (http://stackoverflow.com/questions/2075898/good-input-validation-loop-using-cin-c) – GingerPlusPlus