zlib gzopen()
返回压缩文件流。
gzFile data_file;
data_file = gzopen(filename.c_str(), "r");
其中data_file
是压缩文件流。
我可能从zlib docs中错过了这个。但是,这会解压缩打开的文件吗?
或者gzopen()
能够直接解析gzip压缩文件而不需要
解压缩吗?
提前致谢!
答案 0 :(得分:5)
gzopen
无法解压缩数据,gzread
会在您阅读时解压缩。
我没有在zlib文档中找到这个事实的简单陈述,但是如果你想“证明”它自己创建一个大的(几GB)压缩文件,然后测量速度gzopen
回报。它“显然”没有花费解压缩整个文件所需的时间。如果你看一下如何定义gzip压缩,你会发现它被设计为以流的形式写入和读取,也就是说你不需要一次解压缩整个文件。