stringstream不接受空格?

Hei*_*Hei 4 c++ g++

我有以下代码:

std::stringstream ss;
ss << 1 << "a b c";
std::string result;
ss >> result;
std::cout << result << std::endl;
Run Code Online (Sandbox Code Playgroud)

我看到"1a"而不是"1a b c".

我读到某个地方我应该有ss << std :: noskip.但它没有帮助.

任何的想法?

提前致谢.

For*_*veR 10

std::getline(ss, result);
Run Code Online (Sandbox Code Playgroud)

或者,只是得到 string

result = ss.str();
Run Code Online (Sandbox Code Playgroud)

  • noskipws不会像你想象的那样影响字符串.仍然会读取"1a"而不是行.当流以空格开始时,会出现差异.如果你输入`aa bb cc`然后没有`noskipws``aa`将被读取,使用noskipws -empty字符串! (4认同)
  • noskipws对于阅读单个字符很有用 (2认同)