Zdekompresuj dane w pamięci za pomocą Boost gzip_decompressor
Próbuję zdekompresować dane binarne w pamięci za pomocą Boostgzip_decompressor
. Zta odpowiedź, Zaadaptowałem następujący kod:
vector<char> unzip(const vector<char> compressed)
{
vector<char> decompressed = vector<char>();
boost::iostreams::filtering_ostream os;
os.push(boost::iostreams::gzip_decompressor());
os.push(boost::iostreams::back_inserter(decompressed));
boost::iostreams::write(os, &compressed[0], compressed.size());
return decompressed;
}
Zwracany wektor ma jednak zerową długość. Co ja robię źle? Próbowałem dzwonićflush()
w strumieniu os, ale nie miało to znaczenia