ブースト ライブラリ (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 ファイルの完全な場所があります。
ほとんどすべてのコードが間違っていることは知っていますが、誰が正しい方法でそれを書くべきかわかりません。