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
。你说的“符号”是什么意思?