http://blog.csdn.net/zhoudaxia/article/details/8034606
http://blog.chinaunix.net/uid-10225517-id-2968298.html
http://blog.csdn.net/zhoudaxia/article/details/8034609
http://blog.csdn.net/educast/article/details/38728465
http://blog.chinaunix.net/xmlrpc.php?id=5672211&r=blog/article&uid=24118190
zipper.h
// Zipper.h: interface for the CZipper class. // //////////////////////////////////////////////////////////////////////
#ifndef SMP_ZIPPER_H #define SMP_ZIPPER_H
#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000
#ifndef MAX_PATH #define MAX_PATH 260 #endif
struct Z_FileInfo { int nFileCount; int nFolderCount; unsigned long dwUncompressedSize; };
class CZipper { public: CZipper(const char * szFilePath = 0); virtual ~CZipper();
// simple interface // works with prior opened zip bool AddFileToZip(const char * szFilePath); // extended interface bool OpenZip(const char * szFilePath); bool CloseZip(); // for multiple reuse void GetFileInfo(Z_FileInfo& info); protected: void* m_uzFile; Z_FileInfo m_info;
};
#endif // !defined(AFX_ZIPPER_H__4249275D_B50B_4AAE_8715_B706D1CA0F2F__INCLUDED_)