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压缩是如何定义的,您将看到它被设计为作为流来写入和读取,也就是说您不需要一次解压缩整个文件。
相关文章:
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- 在头文件上包含 cpp 文件是否有缺点?
- 如何检查文件是否已存在于 fstream C++中
- 预处理的 C/C++ 文件是否特定于计算机?
- 如何使用 jpeglib.h 获取文件是否为 JPEG 类型
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 使用 g++ 编译时列出所有 cpp/cc 文件是否正常?
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 如何检查 win32 exe 文件是否已运行?(使用 win32 API 代码)
- 如何检查每个头文件是否包含必需的包含文件?
- 为许多类可能需要的所有常量变量制作独立的头文件是否是一种很好的做法?
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- 如何检查给定文件是否是C++中的有效视频文件?
- 关于使用ifstream在C 中确定文件是否存在的问题
- #include 包含的头文件已包含的头文件是否常见?
- 如何测试文件是否被锁定和/或只读而不打开?
- 检查文件是否具有Windows c ++的可执行权限
- 检查给定的多个文件是否存在
- .txt文件是否已关闭
- 如果给定正确的运行时库,x86 可执行文件是否可以在任何 x86 平台上运行