我正在寻找一个将zlib简化为以下函数的封装:
- OpenZipFile()
- GetItemInfo(n)
- UnzipItem(n) // 如果项目n是目录,递归解压缩将得到额外的奖励分数。
我在codeproject.com等网站上看到了很多关于zlib库的封装,但它们都是特定于平台的,以提供解压缩到文件/内存缓冲区/管道的特定于平台的功能。
我正在寻找一个将zlib简化为以下函数的封装:
我在codeproject.com等网站上看到了很多关于zlib库的封装,但它们都是特定于平台的,以提供解压缩到文件/内存缓冲区/管道的特定于平台的功能。
firstobject的易用zlib是跨平台的;它将zlib封装在一个单独的文件easyzlib.c中,并且只公开了ezcompress和ezuncompress函数,还增加了在分配确切大小之前确定内存需求的功能。
GZStream值得一看。这是一个不错的跨平台封装器,它扩展了STL iostream类,基于ZLib。
http://www.cs.unc.edu/Research/compgeom/gzstream/
与其他一些封装器相比,这个封装器的优点在于,如果您正在处理非常大的档案,则不需要将整个数据集加载到内存中。
http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/zlib.html