2013-10-05 66 views
0

幫我從zip壓縮文件中解壓縮文件。 嘗試使用zlib,但未編譯minizip。 想要嘗試LZMA,但無法連接到該項目。 我使用VS C++ 2010.如何解壓ZIP存檔

謝謝。

+0

嘗試:[zlib](http://zlib.net/) – P0W

回答

0

據我所知,LZMA可以處理整個zip檔案,而zlib只能解壓縮包含的數據。 zip檔案是一組壓縮文件。因此,在解壓縮包含的數據塊(文件)之前,您需要解析存檔。看看Wikipedia上的文件格式說明。

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

0

工作吉爾斯展翅的壓縮/解壓縮的API例如包裝類的。如果您沒有問題Windows的唯一解決方案,我發現XZip非常容易使用。你只需要將XUnzip.h/.cpp添加到你的項目中,沒有別的,沒有其他的依賴。

還有miniz,這是便攜式,但我還沒有嘗試過(尚未)。