是否可以以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
进程的管道。这样您就可以使用所有正常的 stdio 输出函数,而不必用 zlib 调用替换所有内容。