gpt4 book ai didi

c++ - std::stringstream 一次只支持一个输入?

转载 作者:行者123 更新时间:2023-11-30 02:49:08 26 4
gpt4 key购买 nike

因为 std::stringstream 是一个 stzream,并且根据 documention在这里,您可以执行流支持的任何操作。

所以我希望下面的示例可以工作,但似乎没有。我将 MingW 与 gcc 4.8.3 一起使用。

变体 A:

std::string s;
std::stringstream doc;
doc << "Test " << "String ";
doc << "AnotherString";
doc >> s;
std::cout << s << std::endl;

变体 B:

std::string s;
std::stringstream doc;
doc << "Test ";
doc << "AnotherString";
doc >> s;
std::cout << s << std::endl;

这个的输出只是

Test 

虽然我预计它会连接各个字符串,直到我从流中读回我放在那里的内容。

那么连接字符串的合适方法是什么?我真的必须单独读出每一个并手动连接它们吗,这对我来说在 C++ 中似乎很尴尬。

最佳答案

它将每个字符串放入doc,所以它的内容是:

Test String AnotherString

然后当您使用 doc >> s 提取时,它只会读取到第一个空格。如果你想把整个流作为一个字符串,你可以调用str:

std::cout << doc.str() << std::endl;

关于c++ - std::stringstream 一次只支持一个输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21527562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com