前言 项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码,
都不是很称心, 现在把我自己实现的代码和大家分享.
要求:
1.使用Unicode(支持中文).
2.使用源代码.(不使用静态或者动态库)
3.实现文件夹压缩解压缩即可.(不提供单文件压缩和内存压缩)
4.压缩格式为ZIP.
5.具有一定的容错能力.(判断用户输入的内容)
代码如下:
*********************ZipImplement.h********************
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuUWYxYmZhR2MiNjY3QGMjFGZlNTOzUWZjJGO2YzM1MWMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
ZipImplement.h
*********************ZipImplement.cpp*********************
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuUWYxYmZhR2MiNjY3QGMjFGZlNTOzUWZjJGO2YzM1MWMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.gif)
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++开发项目,遇到了很多问题,对于相关的问题和我自己的解决办法将在以后的文章中给出.