【发布时间】:2020-11-16 03:33:33
【问题描述】:
我正在阅读有关 stringstream 的内容并找到了这个示例。
stringstream ss;
int foo;
int bar = 0;
ss << 100 << ' ' << 200;
ss >> foo;
ss >> bar;
cout << "foo: " << foo << '\n'; // 100
cout << "bar: " << bar << '\n'; // 200
为什么变量'bar'的值是200? 'bar'不应该从流中读取空格并获取空格(32)的ASCII码或其他一些值吗? stringstream 是否忽略空格?那为什么我们在这里加一行:
ss >> foo;
ss.ignore(1);
ss >> bar;
条的值仍然是 200 而不是 0?
【问题讨论】:
-
如果您将
>>与cin一起使用,它会忽略空格吗?为什么你认为stringstream应该不同?如果它是一样的,肯定会更有意义吗? -
@john -- “当然,如果它是一样的,那就有意义了”与“它是一样的”是不一样的。
标签: c++ stream stringstream