繁体   English   中英

zlib gzopen()返回压缩的文件流。 是否解压缩文件?

[英]zlib gzopen() returns a compressed file stream. Does it decompress the file?

zlib gzopen()返回压缩的文件流。

gzFile data_file;
data_file = gzopen(filename.c_str(), "r");

其中data_file是压缩文件流。 我可能从zlib文档中错过了这一点。 但是,这是否解压缩了打开的文件? 还是gzopen()能够直接解析gzip压缩文件而无需将其解压缩?

提前致谢!

gzopen不会解压缩数据, gzread在您读取数据时解压缩。

我尚未在zlib文档中找到关于此事实的简单说明,但是如果您想自己“证明”它,请创建一个大的(几个GB)压缩文件,然后测量gzopen返回的速度。 “显然”并不需要花费时间来解压缩整个文件。 如果您研究gzip压缩的定义方式,您会发现它的设计目的是作为流进行写入和读取,也就是说,您无需立即解压缩整个文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM