使用VC++压缩解压缩文件夹

简介: 前言  项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码, 都不是很称心, 现在把我自己实现的代码和大家分享.要求:        1.使用Unicode(支持中文).       2.
前言  项目中要用到一个压缩解压缩的模块, 看了很多文章和源代码, 
都不是很称心, 现在把我自己实现的代码和大家分享.


要求:

 

       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++开发项目,遇到了很多问题,对于相关的问题和我自己的解决办法将在以后的文章中给出.

目录
相关文章
|
监控 Linux
Linux 进程标识符:深入探讨 getpid() 和 getppid()
在Linux操作系统中,进程管理是一项重要的任务。为了正确管理和监控进程,我们需要了解如何获取进程的标识符。本文将详细介绍两个重要的Linux系统调用函数:`getpid()`和`getppid()`。这两个函数用于获取当前进程的进程ID(PID)和父进程的PID。我们将深入探讨它们的用途、使用方法以及示例代码。
2784 0
|
开发工具 数据安全/隐私保护 C++
[笔记] 编译bit7z踩坑记录
[笔记] 编译bit7z踩坑记录
911 0
|
存储 编解码 Cloud Native
C++ Qt关于多屏幕窗口处理
C++ Qt关于多屏幕窗口处理
|
安全 网络协议 物联网
不看后悔系列之一篇搞懂LinuxCentOS搭建MQTT服务器及客户端操作使用
linux CentOS上搭建MQTT服务器并不难,主要就是用到了mosquitto这款消息代理服务软件。其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中。
2698 0
|
12月前
|
运维 监控 安全
|
12月前
|
Java Python
Python 生成、解析二维码
Python 生成、解析二维码
259 0
|
安全 算法 程序员
【 C++14 新特性 加强版 constexpr】深入探索 C++14 中的 constexpr
【 C++14 新特性 加强版 constexpr】深入探索 C++14 中的 constexpr
221 0
|
人工智能 算法 安全
使用libzip压缩文件和文件夹
使用libzip压缩文件和文件夹
230 3
|
12月前
|
Web App开发 存储 前端开发
前端开发必备:requestAnimationFrame、setInterval、setTimeout——功能解析与优劣对比
前端开发必备:requestAnimationFrame、setInterval、setTimeout——功能解析与优劣对比
626 0
|
Ubuntu Linux
在Linux中,如何配置静态IP地址?
在Linux中,如何配置静态IP地址?