C呼叫Zlib庫解壓檔案示例

2021-08-26 10:55:11 字數 1395 閱讀 1112

#include "stdafx.h"

#include "stdio.h"

#include "unzip.h"

#pragma comment(lib,"zlibstat.lib")

int main(int argc, char* argv)

intrv = unz_errno;

inti = 0;

unz_global_infoglobal_info;

unz_file_infofinfo;

charszfilename[max_path] = ;

charchextrafield[255] = ;

charszcomment[255] = ;

charchbuf[10240] = ;

intnlen = 10240;

//開啟壓縮檔案

unzfileuzf = unzopen("helloworld.zip");

if(uzf== null)

returnrv;

//獲取壓縮檔案資訊

rv= unzgetglobalinfo(uzf, &global_info);

if(rv!= unz_ok)

returnrv;

//列舉壓縮包內第乙個檔案

rv= unzgotofirstfile(uzf);

if(rv!= unz_ok)

returnrv;

for(i=0;i//獲取壓縮包內檔案的資訊

rv= unzgetcurrentfileinfo(uzf,

&finfo,

szfilename,

sizeof(szfilename),

(void*)chextrafield,

sizeof(chextrafield),

szcomment,

sizeof(szcomment));

if(rv!= unz_ok)

break;

printf("filename:%s\n",szfilename);

//開啟壓縮包內的檔案

rv= unzopencurrentfile(uzf);

if(rv!= unz_ok)

break;

//讀壓縮包內的檔案

rv= unzreadcurrentfile(uzf, chbuf, nlen);

//關閉壓縮包內檔案控制代碼

rv= unzclosecurrentfile(uzf);

//列舉壓縮包內下乙個檔案

rv= unzgotonextfile(uzf);

if(rv!= unz_ok)

break;

//關閉壓縮包檔案

rv= unzclose(uzf);

return0;

Zlib解壓縮示例

先上 壓縮包的檔案結構解析 zip unzopen resitem filename if 0 zip return false done unzgotofirstfile zip while done unz ok dword dwfilenum 0 dword dwfilepos 0 unzge...

充電 庫 Zlib檔案壓縮和解壓

開源 zlib使用手冊 manual.html zlib wince版 在這裡,你可以檢視基於各種作業系統平台的壓縮與解縮 實現。以下是經過測試的 wince 及 winxp 下的 第三步 包含標頭檔案 include zlib.h 主要使用fopen等c標準介面實現的,只用到zlib的compre...

Zlib檔案壓縮和解壓

zlib檔案壓縮和解壓 開源 http www.zlib.net zlib使用手冊 http www.zlib.net manual.html zlib wince版 http www.tenik.co.jp adachi wince 在這裡,你可以檢視基於各種作業系統平台的壓縮與解縮 實現。以下是...