【发布时间】:2020-05-17 04:57:08
【问题描述】:
我正在尝试使用 sstream 读取一个由三个数字组成的字符串,但是当我尝试打印它们时,我得到了一个包含四个数字的错误输出。
代码:
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string a("1 2 3");
istringstream my_stream(a);
int n;
while(my_stream) {
my_stream >> n;
cout << n << "\n";
}
}
输出:
1
2
3
3
为什么我在输出中得到四个数字,而在输入字符串中得到三个数字?
【问题讨论】:
-
while(my_stream)->while(my_stream >> n) { cout ... } -
那是错误的。已删除。