假设std::stringstream
实际包含相当于文字"sigma=0\\nreset"
(长度 = 14 个字符)而不是"sigma=0\nreset"
(长度 = 13 个字符)的内容,您必须自己替换它。这样做不是很困难,要么使用boost replace_all
(http://www.boost.org/doc/libs/1_53_0/doc/html/boost/algorithm/replace_all.html),std::string::find
要么std::string::replace
:
std::stringstream inStream;
inStream.str ("sigma=0\\nreset");
std::string content = inStream.str();
size_t index = content.find("\\n",0);
while(index != std::string::npos)
{
content.replace(index, 2, "\n");
index = content.find("\\n",index);
}
std::cout << content << '\n';
注意:您可能需要考虑系统行尾不是其他情况的情况"\n"
如果std::stringstream
实际包含"sigma=0\nreset"
,请发布执行复制/处理和写入文本文件的代码。