Почему stringstream читает только первую цифру в моем целом числе?Как мне сделать так, чтобы он двигался только на пустом месте? - PullRequest
0 голосов
/ 22 сентября 2019

Соответствующий код выглядит следующим образом:

string output;
char letter, number, symbol;

cout << "Input a letter, number, and a symbol separated by a space: ";
getline(cin, output);
istringstream(output) >> letter >> number >> symbol;

Однако, если я набираю многозначное число, оно сохраняет только первое, а затем все, что присвоено символу, является ... неверным.

Что я делаю не так?Как я могу сделать так, чтобы оно перестало читать, только когда оно попадает в пробел?

1 Ответ

3 голосов
/ 22 сентября 2019

letter, number и symbol - все они определены как char, поэтому в каждой переменной вы получите только один символ.Попробуйте вместо этого сделать number и int.

...