データのチャンクを解凍するために、ブースト iostreams::zlib_decompressor を使用しています。まず、ブーストを使用した私の解凍コードをお見せしたいと思います
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 を報告したという例外が発生します。
データに問題があるかどうかをテストするために、それをファイルに書き込んでから、独自の膨張プログラムを使用して (膨張、デフォルト設定に関する zlibs ページの例を使用するだけです)、そのファイルを膨張させました。エラーが発生しないだけでなく、プログラムから正しいデータが返されます。
ブーストは解凍のためにいくつかの凝った設定を使用しますか、それともfiltering_istreambufを間違って使用していますか?