boost::iostream bzip2_decompressor 不解压缩由 bzip2_compressor 压缩的文件
最佳答案
这是一个简单的独立示例,展示了它的工作原理:
#include <iostream>
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/iostreams/filter/bzip2.hpp>
#include <sstream>
namespace io = boost::iostreams;
int main()
{
std::stringstream ss;
{
io::filtering_stream<io::output> of;
of.push(io::bzip2_compressor{});
of.push(ss);
io::copy(std::cin, of);
}
std::cout << "Compressed input: " << ss.str().size() << " bytes\n";
ss.seekg(0ul);
{
io::filtering_stream<io::input> if_;
if_.push(io::bzip2_decompressor{});
if_.push(ss);
io::copy(if_, std::cout);
}
}
在 Coliru 上它显示它自己压缩到 331 字节,然后再次返回到 stdout
也许你忘记刷新,有非二进制,空格跳过。没有 SSCCE 我们无法判断
关于c++ - boost::iostream bzip2_decompressor 不解压缩由 bzip2_compressor 压缩的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516315/