Мне удалось интегрировать API-интерфейсы Boost Iostream для чтения заархивированных файлов. Я следил за документацией на странице повышения и пока получил следующий код:
std::stringstream outStr;
ifstream file("file.gz", ios_base::in | ios_base::binary);
try {
boost::iostreams::filtering_istreambuf in;
in.push(boost::iostreams::gzip_decompressor());
in.push(file);
boost::iostreams::copy(in, outStr);
}
catch(const boost::iostreams::gzip_error& exception) {
int error = exception.error();
if (error == boost::iostreams::gzip::zlib_error) {
//check for all error code
}
}
Код работает нормально (поэтому, пожалуйста, не обращайте внимания любые опечатки. и ошибки, указанные выше :)).