如何使用zlib轻松压缩和解压缩文件?
如何使用zlib轻松压缩和解压缩文件?
对于减压:
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);
请仔细阅读。该信息已经可用 这里:
这是即使在谷歌上显示的第一个链接。
如果你可以使用boost,我会推荐使用boost iostreams API。见 提升iostreams教程。它支持GZIP和BZIP2压缩器和解压缩器。