Я пытаюсь сжать файл с помощью библиотеки boost (gzip). Это простая задача: предположим, у меня есть файл data.xml, и мне нужно сжать его до data.xml.gz. Я даже могу использовать значения сжатия по умолчанию, это не имеет значения.
Я пытался искать на страницах Google и BOOST, но безуспешно.
У меня есть следующее:
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 содержит полное расположение XML-файла.
FREQUENCY_HISTORY_FILE_GZIP содержит полное местоположение файла XML.GZ.
Я знаю, что почти весь код неправильный, но я понятия не имею, кто его правильно напишет.