接口说明
ZIP 压缩:

静态库版本:
BOOL ZipCompress(LPCTSTR lpszSourceFiles, LPCTSTR lpszDestFile, bool bUtf8 = false);
动态库版本:
BOOL ZWZipCompress(LPCTSTR lpszSourceFiles, LPCTSTR lpszDestFile, bool bUtf8 = false);
  • lpszSourceFiles:
    要压缩的文件(支持通配符)。如:D:\Dir1\*.txt。
  • lpszDestFile:
    输出文件。如 D:\Sample.zip。
  • bUtf8:
    是否使用 UTF-8 编码文件名。开启了此选项后,某些古老的压缩/解压缩软件可能无法识别生成的文件。
ZIP 解压缩:

静态库版本:
BOOL ZipExtract(LPCTSTR lpszSourceFile, LPCTSTR lpszDestFolder);
动态库版本:
BOOL ZWZipExtract(LPCTSTR lpszSourceFile, LPCTSTR lpszDestFolder);
  • lpszSourceFile:
    要解压缩的文件。如 D:\Sample.zip。
  • lpszDestFolder:
    要解压缩到的目录。此目录可以不存在,函数会自动创建目录,但此目录的父目录必须已经存在。如 D:\Dir2 。

ZLibWrap

ZLib 二次包装库
缘起
工作中时常需要用到 ZIP 文件的压缩、解压,但市面上又没有太好用的第三方库。目前见过的只有 InfoZip。可是 InfoZip 的接口太难用,超级不喜欢。所以稍微看了下 ZLIB,将里面的小例程 minizip 包装了下,可以作为日常简易的使用。
ZLibWrap 仅仅出于供大家参考的目的而发布。作者不保证质量,对任何可能的后果不负任何责任。
您可以使用 ZLibWarp 的 DLL 版本;也可以使用 Lib 版本;也可以参照我的做法,自己包装一个;当然也可以不使用。
请到 ZLibWrap 的 CodePlex 项目主页下载。如果发现任何 Bug,欢迎与我联系。
功能特性
  • 提供将多个文件一次性压缩到单个 ZIP 文件的接口
  • 提供解压 ZIP 文件中的全部内容到一个目录的接口
  • 支持 ZIP 文件中的 UTF-8 文件名
  • - 暂不支持异步接口或同步可取消接口

GitHub 项目主页
https://github.com/Streamlet/ZLibWrap

相关博文
http://www.cppblog.com/Streamlet/archive/2010/09/22/127368.aspx