fprintf
圧縮ファイルにデータを書き込むような使い方はできますか?例えば:
fopen ("myfile.txt","w");
プレーンテキストファイルに書き込みます。そのため、ファイルサイズが非常に大きくなります。
fprintf
圧縮ファイルにデータを書き込むような使い方はできますか?例えば:
fopen ("myfile.txt","w");
プレーンテキストファイルに書き込みます。そのため、ファイルサイズが非常に大きくなります。
を使用zlib
して、データを圧縮ストリームに書き込むことができます。
gzFile fp;
fp = gzopen(NAME, "wb");
gzprintf(fp, "Hello, %s!\n", "world");
gzclose(fp);
次のようにコンパイルします。
gcc -Wall -Wextra -o zprog zprog.c -lz
zcat
ファイルの内容を印刷するために使用します。
パイプを持つシステムを使用している場合の最小限の侵襲的ソリューションは、外部gzip
プロセスへのパイプを開くことです。そうすれば、すべてを zlib 呼び出しに置き換えることなく、すべての通常の stdio 出力関数を使用できます。
Linux では、zlibライブラリを使用 (および としてリンク-lz
) し、その圧縮ストリームを使用できます。