程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 一個在MFC環境中使用的InfoZip打包類

一個在MFC環境中使用的InfoZip打包類

編輯:關於VC++

InfoZip是一個功能強大的免費ZIP/UNZIP庫。為了方便它的使用,本文將介紹一個InfoZip的打包類CInfoZip,這個類本身並不實現壓縮功能,只是提供一個易於使用的InfoZip DLLs接口(包含在CInfoZip中)

CInfoZip類的使用方法:

1、將CInfoZip 的頭文件和實現文件添加到工程中,然後將ZIPDLL.DLL 和UNZDLL.DLL 文件拷到EXE文件所在的目錄。 ZIPDLL.DLL用於壓縮,UNZDLL.DLL用於解壓縮。

2、在代碼中創建CInfoZip 類對象並添加初始化方法調用:

BOOL CInfoZip::InitializeZip();

BOOL CInfoZip::InitializeUnzip();

BOOL CInfoZip::Initialize();

前面兩個方法加載InfoZip DLLs,並獲取指向所用過程的指針,如果成功則返回TRUE,否則返回FALSE。最後一個方法初始化ZIP 和UnZIP 兩個DLL。

3、往壓縮文檔添加文件或解壓縮:

BOOL CInfoZip::AddFiles(const char *pszArchive, char **paFiles, int iFileCount);

BOOL CInfoZip::ExtractFiles(const char *pszArchive, const char * pszTargetFolder);

pszArchive 位一個空結尾串,包含壓縮文檔的全路徑名,paFiles 是一個空結尾串數組,包含待全路經的文件名,iFileCount 是paFiles 數組中的文件數,pszTargetFolder 是一個文件夾全路經,用來存放解壓縮後的文件。

4、使用帶預定義參數設置的壓縮和解壓縮方法:

BOOL CInfoZip::SetDefaultValues(CZipParams *pParams);

BOOL CInfoZip::SetDefaultValues(CUnzipParams *pParams);

如果你要實現由不同參數的ZIP/UNZIP操作,必須創建一個CZipParams/CUnzipParams類型的結構,用相應的值填充此結構(調用SetDefaultParams改變某些結構成員),然後調用CInfoZip::Execute方法:

BOOL CInfoZip::Execute(CZipParams *pParams);

BOOL CInfoZip::Execute(CUnzipParams *pParams);

5、處理完CInfoZip之後,調用下面的方法釋放分配的資源以及加載的DLLs:

BOOL CInfoZip::FinalizeZip();

BOOL CInfoZip::FinalizeUnzip();

BOOL CInfoZip::Finalize();

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved