C++ 为什么stringstream只读取整数中的第一个数字?我如何使它只在空白处移动?

C++ 为什么stringstream只读取整数中的第一个数字?我如何使它只在空白处移动?,c++,getline,stringstream,C++,Getline,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; 字符串输出; 字符、字母、数字、符号; 字母>>数字

有关守则如下:

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;
字符串输出;
字符、字母、数字、符号;
字母>>数字>>符号;
然而,如果我输入一个多位数,它只保存第一个数字,然后分配给符号的就是。。不对


我做错了什么?我如何使它只在遇到空白时停止读取?

字母
数字
符号
都定义为
字符
类型,因此每个变量只需输入一个字符。尝试将
number
改为
int

将数字存储为
char
,这是一个唯一的字符,没有多个数字不起作用。您可以尝试将其更改为
int
。你说的“符号”是什么意思?