我有字符串流对象。它通过填充
stringstream ss;
boost::iostreams::copy(inp,ss);
从
boost::iostreams::filtering_streambuf<boost::iostreams::input> inp;
并且实际上包含解压缩的文件。
现在,如果我将字符串流内容刷新到文件中
std::ofstream ofs(path_to_file,std::ios_base::out|std::ios_base::binary);
ofs << ss.rdbuf();
一切都好。文件充满了完整正确的数据。
但是如果我不是像这样刷新到文件构造字符串
std::string s = ss.str();
内容在中间某处被截断。这不是一个持久性错误,它显然取决于字符串缓冲区的内容。
内容是多种语言的 HTML 文件。
会是什么?谢谢。