Descomprima los datos en la memoria usando Boz gzip_decompressor
Estoy tratando de descomprimir los datos binarios en la memoria usando Boostgzip_decompressor
. Desdeesta respuesta, Adapté el siguiente código:
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;
}
Sin embargo, el vector devuelto tiene longitud cero. ¿Qué estoy haciendo mal? Intenté llamarflush()
en la corriente del sistema operativo, pero no hizo una diferencia