如何使用zlib轻松压缩和解压缩文件?
答案 0 :(得分:14)
减压:
char buf[1024*1024*16];
gzFile *fi = (gzFile *)gzopen("file.gz","rb");
gzrewind(fi);
while(!gzeof(fi))
{
int len = gzread(fi,buf,sizeof(buf));
//buf contains len bytes of decompressed data
}
gzclose(fi);
用于压缩
gzFile *fi = (gzFile *)gzopen("file.gz","wb");
gzwrite(fi,"my decompressed data",strlen("my decompressed data"));
gzclose(fi);
答案 1 :(得分:1)
请仔细阅读。该信息已经提供here:
这是即使在谷歌上显示的第一个链接。
答案 2 :(得分:-1)
如果你可以使用boost,我会推荐使用boost iostreams API。见 boost iostreams tutorial。它支持GZIP和BZIP2压缩器和解压缩器。