zlib c ++和解压缩文件

rez*_*eza 8 c c++ zlib

我已经开始使用zlib 1.2.5了,我没有看到从zip文件中提取的任何例程?我读到了一个minizip应用程序,这是发行版的一部分.

这是应该怎么做的?

Ste*_*and 25

是的,它做得很好.(但是,如果你不喜欢C代码,你应该看看有C++和C#代码的7-zip SDK.)

  • 从zip存档中浏览和解压缩文件的所有功能都在: unzip.h
  • 压缩和添加文件到zip存档的所有功能都在: zip.h

(查看contrib\minizip\unzip.hcontrib\minizip\zip.h)

例如解压缩:unzOpen()你的zip文件的功能返回一个unzFile

然后使用unzGoToFirstFile()unzGoToNextFile()在此unzFile通过在档案中的所有文件进行浏览.

然后你得到每个文件的文件信息unzGetCurrentFileInfo(),即它的大小,

你肯定应该unzOpenCurrentFile()在某个时候打电话.

unzReadCurrentFile()使用fileinfo中的大小调用,检索已归档文件的二进制内容.

或者,你可以提供一个不透明的结构,以便使用你自己的i/o功能,但显然有一个默认的win32实现文件访问,所以你甚至不用担心.

PS:并且别忘了调用unzCloseCurrentFile()


Kir*_*fer 7

来自:http://www.zlib.net/zlib_faq.html#faq11:11.zlib可以处理.zip档案吗?

不是单独的,不是.请参阅zlib发行版中的contrib/minizip目录.

那里没有教程,但minizip zip.c源代码完全适用于使用zlib的zip文件上的IO(因此可能是压缩和解压缩).

仍然没有教程但是http://www.winimage.com/zLibDll/minizip.html提供了更多细节.