首先需要下载
#include "zip.h"
#include "unzip.h"
这2个头文件及其cpp实现文件,可参考:http://download.csdn.net/detail/welove20101/7341291
这里是使用上面2的接口实现的类调用,在实际程序中只要调用此类的2个函数就可以实现对文件和文件夹的压缩和解压缩。
具体源码参考如下:
/
// 文件名: ZipImplement.h// 创建者:
// 创建日期: 2014-05-12 下午 05:11:23
//
// 说明:压缩解压缩文件\文件夹
/
#pragma once
#include "zip.h"
#include "unzip.h"
#pragma warning(disable:4786)
class CZipImplement
{
public:
CZipImplement();
~CZipImplement();
private:
HZIP hz; // Zip文件句柄
ZRESULT zr; // 操作返回值
ZIPENTRY ze; // Zip文件入口
CString m_FolderPath; // folder路径
CString m_FolderName; // folder将要被压缩的文件夹
private:
// 实现遍历文件夹
void BrowseFile(CString &strFile);
// 获取相对路径
void GetRelativePath(CString& pFullPath, CString& pSubString);
// 创建路径
BOOL CreatedMultipleDirectory(wchar_t* direct);
///*
//***********************************************************************
//* 函数: TransCStringToTCHAR
//* 描述:将CString 转换为 TCHAR*
//***********************************************************************
//*/
//TCHAR* CString2TCHAR(CString &str)
//{
// int iLen = str.GetLength();
// TCHAR* szRs = new TCHAR[iLen];
// lstrcpy(szRs, str.GetBuffer(iLen));
// str.ReleaseBuffer();
// return szRs;
//}
public:
// 压缩文件\文件夹接口
BOOL ZipPackFiles(CString& pFilePath, CString& mZipFileFullPath, BOOL bIsFolder=false);
// 解压缩文件\文件夹接口
BOOL ZipUnPackFiles(CString &mZipFileFullPath, CString& mUnPackPath, BOOL bIsFolder=false);
// 静态方法提供文件夹路径检查
static BOOL FolderExist(CString& strPath);
};
// 未完待续。。。。