2

fprintf圧縮ファイルにデータを書き込むような使い方はできますか?例えば:

fopen ("myfile.txt","w");

プレーンテキストファイルに書き込みます。そのため、ファイルサイズが非常に大きくなります。

4

3 に答える 3

5

を使用zlibして、データを圧縮ストリームに書き込むことができます。

gzFile fp;
fp = gzopen(NAME, "wb");
gzprintf(fp, "Hello, %s!\n", "world");
gzclose(fp);

次のようにコンパイルします。

gcc -Wall -Wextra -o zprog zprog.c -lz

zcatファイルの内容を印刷するために使用します。

于 2012-02-06T06:40:04.283 に答える
3

パイプを持つシステムを使用している場合の最小限の侵襲的ソリューションは、外部gzipプロセスへのパイプを開くことです。そうすれば、すべてを zlib 呼び出しに置き換えることなく、すべての通常の stdio 出力関数を使用できます。

于 2012-02-06T06:47:09.283 に答える
1

Linux では、zlibライブラリを使用 (および としてリンク-lz) し、その圧縮ストリームを使用できます。

于 2012-02-06T06:40:43.910 に答える