Próbuję skompresować plik przy użyciu biblioteki boost (gzip). To proste zadanie: załóżmy, że mam plik data.xml i muszę go skompresować do formatu data.xml.gz. Mogę nawet użyć domyślnych wartości kompresji, nie ma to znaczenia.
Próbowałem szukać na stronach Google i BOOST, ale bez powodzenia.
Mam co następuje:
bool SyncFrequencyHistory::frequencyHistoryCompressFile(void)
{
printf("\r\n===== ACTION: frequencyHistoryCompressFile =====\r\n");
std::ifstream inStream(FREQUENCY_HISTORY_FILE, std::ios_base::in);
std::ofstream outStream(FREQUENCY_HISTORY_FILE_GZIP, std::ios_base::out);
boost::iostreams::filtering_streambuf<boost::iostreams::output> out;
out.push(boost::iostreams::gzip_compressor());
out.push(outStream);
boost::iostreams::copy(in, out);
return true;
}
FREQUENCY_HISTORY_FILE zawiera pełną lokalizację pliku XML
FREQUENCY_HISTORY_FILE_GZIP zawiera pełną lokalizację pliku XML.GZ
Wiem, że prawie cały kod jest błędny, ale nie mam pojęcia, kto napisać go we właściwy sposób.