zlib-提取大条目

zlib - extract large entry

本文关键字:提取 zlib-      更新时间:2023-10-16

我在程序代码中使用zlib库,首先当我尝试提取文件时,它对zip档案中的小条目很有效,基本上我调用下面的函数

unzOpenCurrentFile (unzFile file)
unzReadCurrentFile  (unzFile file, voidp buf, unsigned len)
unzCloseCurrentFile (unzFile file)

buf是一个内存指针(或字节数组),用于保存该条目的数据。但当遇到大型条目时,我的程序根本无法创建10000000大小的数组。我还尝试传递FILE*指针而不是常规内存,但没有成功。

实际上我使用unzReadCurrentFile()函数不正确,它允许在小缓冲区中逐部分读取,它返回复制的字节数,我们可以循环直到它返回>0