帮我从zip存档中提取文件。 尝试使用zlib,但未编译minizip。 想尝试LZMA,但无法连接到该项目。 我使用VS C ++ 2010。
谢谢。
答案 0 :(得分:0)
据我所知,LZMA可以处理整个zip存档,而zlib只能解压缩包含的数据。 zip存档是压缩文件的集合。因此,您需要解析存档,然后才能解压缩包含的数据块(文件)。查看Wikipedia上的文件格式说明。
答案 1 :(得分:0)
使用zlib,您可以执行以下操作:
#define ZLIB_WINAPI
#include <zlib.h>
#include <contrib\minizip\unzip.h>
#pragma comment(lib, "zlibwapi.lib")
bool decompress(void* dest, unsigned long* pcbDest, const void* src, size_t cbSrc)
{
return uncompress((Bytef*)dest, pcbDest, (const Bytef*)src, cbSrc) == Z_OK;
}
另请参阅codeproject
中Gilles Volant的Zip / Unzip API的包装类的工作示例答案 2 :(得分:0)