首页 > 解决方案 > 为什么 stringstream 只读取我的整数中的第一个数字?我怎样才能让它只在空白处移动?

问题描述

相关代码如下:

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;

但是,如果我输入一个多位数字,它只会保存第一个数字,然后分配给符号的任何内容都是..不正确的。

我究竟做错了什么?我怎样才能使它只有在遇到空白时才停止阅读?

标签: c++getlinestringstream

解决方案


letter, number, 和symbol都定义为char类型,因此您只需将一个字符放入每个变量中。尝试制作number一个int


推荐阅读