【发布时间】:2019-05-22 09:33:25
【问题描述】:
我正在尝试使用 boost iostreams 压缩过滤器通过流插入运算符 (
#include <boost/iostreams/filter/lzma.hpp>
#include <boost/iostreams/filtering_streambuf.hpp>
#include <boost/iostreams/device/file.hpp>
namespace io = boost::iostreams;
int main() {
io::filtering_ostreambuf out;
io::file_sink ofs("output.xz");
out.push(ofs);
out.push(io::lzma_compressor());
for (int i=0; i<16; ++i) {
out << i << std::endl;
}
return 0;
}
我已经尝试使用 stringstream 作为“源”,并按照 gzip 解压缩的示例使用 boost iostreams copy()。但是(1)它不起作用,并且(2)即使它起作用了,这对我来说似乎过于冗长,听起来也不是很有效。
有没有办法使用 boost iostreams,这样我就可以像写流一样正常写入过滤器链?我想使用
【问题讨论】: