TCHAR zipname[] = "C:\\bcel";
TCHAR zipfile [FILENAME_MAX];
sprintf(zipfile, "%s.zip", zipname);
if(Exists(zipfile))
{
int num = 2;
while(Exists(zipfile))
sprintf(zipfile, "%s%d.zip", zipname, num++);
}
HZIP hz = CreateZip(zipfile,0);
deque<string>folderList;
TCHAR folderpath[MAX_PATH]="D:\\Desktop\\Desktop\\bcel-5.2";
folderList.push_back(string(folderpath));
while(folderList.size()>0)
{
WIN32_FIND_DATA finddata;
string pathfile=folderList.front();
string subdir=pathfile;
pathfile.append("\\*.*");
HANDLE handleFind = FindFirstFile(pathfile.c_str(),&finddata); //FindFirstFile
folderList.pop_front();
if(handleFind != INVALID_HANDLE_VALUE)
{
do
{
if(finddata.cFileName[0]=='.')
continue;
else if(finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
string subpath=subdir;
subpath.append("\\");
subpath.append(finddata.cFileName);
folderList.push_back(subpath);
}
else
{
string filename=subdir;
filename.append("\\");
filename.append(finddata.cFileName);
string zipdir = filename.substr(strlen(folderpath)+1);
ZipAdd(hz,zipdir.c_str(),filename.c_str());
}
}while(FindNextFile(handleFind,&finddata));
FindClose(handleFind);
}
}
CloseZip(hz);

C++调用windowsAPI实现目录zip压缩的更多相关文章

  1. JAVA 实现将多目录多层级文件打成ZIP包后保留层级目录下载 ZIP压缩 下载

    将文件夹保留目录打包为 ZIP 压缩包并下载 上周做了一个需求,要求将数据库保存的 html 界面取出后将服务器下的css和js文件一起打包压缩为ZIP文件,返回给前台:在数据库中保存的是html标签 ...

  2. 文件操作工具类: 文件/目录的创建、删除、移动、复制、zip压缩与解压.

    FileOperationUtils.java package com.xnl.utils; import java.io.BufferedInputStream; import java.io.Bu ...

  3. golang zip 压缩,解压(含目录文件)

    每天学习一点go src. 今天学习了zip包的简单使用,实现了含目录的压缩与解压. 写了两个方法,实现了压缩.解压. package ziptest import ( "archive/z ...

  4. 最新Zip压缩文件漏洞,黑客可以触发目录遍历攻击

    近日,国内某安全公司研究人员透露了一个关键漏洞的详细信息,该漏洞影响了许多生态系统中的数千个项目,黑客可以利用这些漏洞在目标系统上实现代码执行. 黑客是如何通过Zip压缩文件入侵攻击?被称为“ZipS ...

  5. Centos-zip压缩-文件或目录-zip unzip

    zip uzip 将一般文件或者目录进行压缩或者解压,默认以 .zip为后缀名 zip 相关选项 -r 递归压缩目录 -d 从压缩包中删除指定文件 -i  压缩指定文件列表文件 -x 压缩排除指定文件 ...

  6. zip压缩命令的使用

    file命令可以查看文件的类型 tar类型 .tar gzip类型   .gz  bzip2类型  .bz2 zip类型    .zip 如果一个压缩文件由tar命令解压的前提,2个条件 1.这个文件 ...

  7. RAR和ZIP:压缩大战真相

    转:http://fqd2eh4y.blog.163.com/blog/static/69195855200801035015857 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万 ...

  8. Java Zip压缩实现

    最近在自学javaWeb,先复习一下java,把还给老师的东西再找回来(知识如果不用很快就会忘记啊).. 今天看到了zip压缩,决定要整理一下. java将有关zip压缩的内容都封装在java.uti ...

  9. java基础---->Zip压缩的使用(转)

    java中提供了对压缩格式的数据流的读写.它们封装到现成的IO 类中,以提供压缩功能.下面我们开始java中压缩文件的使用. 目录导航: 关于压缩的简要说明 GZIP压缩文件的使用 ZIP压缩文件的使 ...

随机推荐

  1. logback导入依赖 NoSuchMethodException

    1.我遇到的问题是Spring版本和logback低版本冲突的问题 如何解决:把logback.classic和logback.core等依赖换成1.2.2以上版本的依赖

  2. fileReader对象读取txt文件乱码问题 以及如何获取文件的url路径(绝对路径)

    <input type="file" @change="aaa($event)"> <div id="hi">< ...

  3. 妙味课堂——JavaScript基础课程笔记

    集中时间把秒微课堂JS的基础课程看完,并且认真完成了课后练习.感觉在JS方面的技能算是入了个门了.课后练习的作业完成的代码我都汇总在了这里.至于视频课的学习笔记,则记录如下. 第01课JS入门基础_热 ...

  4. A. Odds and Ends(思维)

    A. Odds and Ends time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  5. nginx配置服务

    在nginx中的conf的文件夹里面的nginx.conf文件中 server { listen 8888; server_name localhost; location / { root C:/P ...

  6. JavaWeb-SpringSecurity初认识

    Spring Security 安全 百度百科 功能:Spring Security对Web安全性的支持大量地依赖于Servlet过滤器.这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安 ...

  7. cookie、session的联系和区别,多台web服务器如何共享session

    1.Cookie与Session的联系: cookie在客户端保存状态,session在服务器端保存状态.但是由于在服务器端保存状态的时候,在客户端也需要一个标识,所以session也可能要借助coo ...

  8. WorkStation 虚拟机迁移到 ESXi

    将Workstation的vmdk文件导入到Esxi. 提示如题错误提示. 无法打开磁盘 scsi0:0: 磁盘类型 7 不受支持或无效.请确保磁盘已导入. 在VMware Workstation,V ...

  9. StringUtils字符串工具类左侧补齐(leftPad)、右侧补齐(rightPad)、左右两侧补齐(center)工具方法

    这里使用的是 org.apache.commons.lang.StringUtils;下面是StringUtils工具类中字符串左侧补齐的方法,示例如下: //左侧补齐 第一个参数:原始字符串,第二个 ...

  10. CSS鼠标效果手型效果

    Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a> Exam ...