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. RSA加密解密,Base64String

    ///<remarks> /// DotNet.Utilities.RSACryption cryption = new DotNet.Utilities.RSACryption(); / ...

  2. 适合没有ui的项目的样式

    官网: https://www.tailwindcss.cn/

  3. 关于windows 设备驱动重要的事实

    1. windows采用设备树描述所有挂在系统总线上的设备,每个设备对应一个节点. 2.每个设备有自己的device object stack/driver stack. 一个物理上的设备对应多个de ...

  4. sh_17_字符串的查找和替换

    sh_17_字符串的查找和替换 hello_str = "hello world" # 1. 判断是否以指定字符串开始 print(hello_str.startswith(&qu ...

  5. JavaWeb_ Servlet API(中文)

       Java Servlet 中文API Java Servlet API由两个软件包组成:一个是对应HTTP的软件包,另一个是不对应HTTP的通用的软件包.这两个软件包的同时存在使得Java Se ...

  6. [题解] [CQOI2007] 余数求和

    题面 题解 考虑到这个等式\(a\bmod b = a - b * \lfloor\frac{a}{b}\rfloor\) 所以我们可以得到: \[ \begin{aligned} ans & ...

  7. (十七)C语言之变量

  8. IDEA找回Run Dashboard

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  9. koa 基础(十七)原生 JS 中的类、静态方法、继承

    1.app.js /** * 原生 JS 中的类.静态方法.继承 * es5中的类和静态方法 */ function Person(name, age) { // 构造函数里面的方法和属性 this. ...

  10. Why convolutions always use odd-numbers as filter_size

    原文地址:https://datascience.stackexchange.com/questions/23183/why-convolutions-always-use-odd-numbers-a ...