C++で処理している財務データがいくつかあります。必要なリソースが少なく、高速であるため、単純なバイナリ形式で保存していますが、ファイルに圧縮を追加したいと思います。私はIOバウンドになると思いますので、圧縮は処理速度の点でそれほどコストがかかりません。
私は学者であり、実際のプログラマーではないため、圧縮の方法がわかりません。私はこれを持っている手を本当に使うことができました。
I have my data in a structure like this:
struct TradesBin {
int ttim;
int prc;
int siz;
short int g127;
short int corr;
char cond[2];
char ex[1];
}__attribute__((packed));
次のようにバイナリファイルに書き込むことができます。
ofstream fout(outfile.c_str(), ios::out | ios::binary);
fout.write((char *) &tbin, sizeof(TradesBin));
tbinがTradesBinデータで満たされている場所。
これらのファイルに圧縮を追加するにはどうすればよいですか?ZLO、Bzip2、zlib、Boost.IOStreamsなどについては漠然としか聞いていません。私はあなたの指導と提案に感謝します!
ありがとうございました!