请选择 进入手机版 | 继续访问电脑版

7ZIP SDK共享

[复制链接]
小甜心 发表于 2021-1-2 19:43:03 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
      对于文件的压缩息争压是我们日常工作耳熟能详的使用,那么我们如何自己通过代码来实现各种文件的压缩息争压,本文是笔者整理和精炼的的7zipSDK,支持zip,rar,7zip,tar,xz等常见格式的压缩息争压,接口友好,demo简单,特意收藏,以备不时之需。
压缩例子如下:
[code]#include #include#include "7zpp.h"#define DLL_PATH  _T("C:\\Program Files\\7-Zip\\7z.dll")#define TESTCOMPRESSTESTFILE1  _T("TestFiles\\Readme.md")#define TESTEXTRACTTESTFILE2    _T("TestFiles\\dir")#define ARCHIVE_NAME1   _T("MyArchive")using namespace std;using namespace SevenZip;void comprese_file(SevenZip::CompressionFormat::_Enum fmt){    SevenZip::SevenZipLibrary lib;    bool result = lib.Load(SevenZip::TString(DLL_PATH));    // Make sure DLL loads    if (!result)    {        printf("load dll is failed\n");    }    printf("CompressionFormat is %d\n", fmt);    SevenZip::TString myArchive(ARCHIVE_NAME1);    SevenZip::SevenZipCompressor compressor(lib, myArchive);    compressor.SetCompressionFormat(fmt);    compressor.SetPassword(_T("test"));    bool addResult = compressor.AddFile(TESTCOMPRESSTESTFILE1);    if (!result)    {        printf("AddFile is failed\n");    }    // add files by mask non recursive in folder where no files with this mask    addResult = compressor.AddFiles(TESTEXTRACTTESTFILE2, _T("*.h"), false);    if (!result)    {        printf("AddFile2 is failed\n");    }    addResult = compressor.AddFiles(TESTEXTRACTTESTFILE2, _T("*.h"), true);    if (!result)    {        printf("AddFile3 is failed\n");    }    bool compressResult = compressor.DoCompress();    if (!result)    {        printf("AddFile4 is failed\n");    }    getchar();}int main(){    std::cout 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )