为什么 stringstream 只读取整数中的第一个数字?我如何让它只在空白处继续移动 space?
Why is stringstream only reading the first digit in my integer? How do I make it so it only moves on at a blank space?
相关代码如下:
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;
但是,如果我输入多位数字,它只会保存第一个,然后分配给符号的任何内容都是..不正确的。
我做错了什么?我怎样才能让它只在遇到空白时停止阅读 space?
letter
、number
和 symbol
都定义为 char
类型,因此您只需将一个字符放入每个变量中。尝试将 number
改为 int
。
相关代码如下:
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;
但是,如果我输入多位数字,它只会保存第一个,然后分配给符号的任何内容都是..不正确的。
我做错了什么?我怎样才能让它只在遇到空白时停止阅读 space?
letter
、number
和 symbol
都定义为 char
类型,因此您只需将一个字符放入每个变量中。尝试将 number
改为 int
。