前言 项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码,
都不是很称心, 现在把我自己实现的代码和大家分享.
都不是很称心, 现在把我自己实现的代码和大家分享.
要求:
1.使用Unicode(支持中文).
2.使用源代码.(不使用静态或者动态库)
3.实现文件夹压缩解压缩即可.(不提供单文件压缩和内存压缩)
4.压缩格式为ZIP.
5.具有一定的容错能力.(判断用户输入的内容)
代码如下:
*********************ZipImplement.h********************
ZipImplement.h
*********************ZipImplement.cpp*********************
ZipImplement.cpp
=====================以上为源代码=====================
简单说明:
1.使用VS2003编写.
2.WinXp sp2下运行测试通过.
3.为了简化算法,使用了很多MFC提供的函数, 如果要移植到标准C++请重新实现部分函数.
4.压缩算法采用了ljw1004 这位高手的算法.
5."zip.h" 和 "unzip.h"以及实现请至 http://www.codeproject.com/KB/files/zip_utils.aspx 下载, 下载的源文件中有示例程序可以参考.
将下载后的 zip.h unzip.h zip.cpp unzip.cpp 添加到自己的项目中.
后记:第一次使用VC++开发项目,遇到了很多问题,对于相关的问题和我自己的解决办法将在以后的文章中给出.