boost zlib_decompressor在有效数据时失败

时间:2013-07-14 10:40:44

标签: c++ boost zlib inflate

要解压缩数据块,我正在使用boost iostreams :: zlib_decompressor。第一个ID就像用boost来显示我的减压代码

boost::iostreams::filtering_istreambuf in;
in.push(boost::iostreams::zlib_decompressor());
in.push(boost::interprocess::basic_vectorstream<std::vector<char>>(chunkData));

std::vector<char> decomp;
boost::iostreams::copy(in, boost::interprocess::basic_vectorstream < std::vector < char >> (decomp));

在副本中,我得到一个例外,即zlib报告了Z_DATA_ERROR。

要测试我的数据是否有问题,我将其写入文件,然后使用我自己的inflate程序(它只使用zlibs页面中关于inflate,默认设置的示例)来膨胀该文件。我不仅没有得到任何错误,而且我的程序返回了正确的数据。

boost是否会使用一些奇特的设置进行解压缩,或者我使用filtering_istreambuf错误了吗?

0 个答案:

没有答案