我有一个包含 zlib 压缩(压缩)数据的 vector 。我想用 Boost 的 filtering_istream
解压缩它。他们的网站上只有一个示例,它对数据流进行操作(与我拥有的 vector 相反)。
vector<char> compressed_buffer;
compressed_buffer.resize(cdh.length);
file.read(&compressed_buffer[0], cdh.length);
filtering_istream in;
in.push(zlib_decompressor());
in.push(something(compressed_data)); // what should "something" be?
我也想将未压缩的数据作为 vector 获取。我该怎么做?
最佳答案
array_source
怎么样? ?
in.push(array_source(&*compressed_data.begin(), &*compressed_data.end()));
然后使用 boost::iostreams::copy
和 std::insert_iterator
将结果字符插入新 vector 。
关于c++ - 如何使用 Boost 解压缩压缩数据的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557555/