我有一个wstringstream:
wstringstream sstream;
AlterSstream(sstream);
wstringstream bar_stream;
bar_stream << sstream;
bar_stream << "foo";
MessageBoxW(
NULL,
bar_stream.str().c_str(),
L"subject",
MB_OK
);
输出的长字符串看起来与我在
AlterSstream()
中输入的内容完全不同:00000000002CEC58foo
AlterSstream:
void AlterSstream(wstringstream& outStream)
{
outStream << "odp";
}
为什么会这样呢?如果我直接打印出
sstream
,效果很好,但是打印出bar_stream
会产生问题。我猜<<
运算符不起作用,我认为它在两个流之间起作用?更新:抱歉,我原本只保留了一些代码。它固定在上面。
最佳答案
没有重载可从流复制到流。
您需要更改以下行:
bar_stream << sstream;
至:
bar_stream << sstream.str();