最简单的7z API接口

摘要:
7z官方网站提供的SDK下载地址:http://www.7-zip.org/sdk.html我觉得这还是有点复杂。我更改了示例LzmaUtil并删除了其他不必要的源文件。现在,使用此源代码生成的dll和lib,您可以通过以下两个接口压缩和解压缩文件:MY_ STDAPILzmaCompress(char*pSrcFile,char*pDstFile);MY_ STDAPILzmanuco公司

7z官网提供的SDK下载地址:http://www.7-zip.org/sdk.html

我觉得还是有点复杂,就把里面的例子LzmaUtil改了改,并把不需要的其它源文件删掉了,现在,使用此源码生成的dll、lib,就可以通过以下的两个接口对文件进行压缩、解压缩了:

MY_STDAPI LzmaCompress(char* pSrcFile, char* pDstFile);

MY_STDAPI LzmaUncompress(char* pSrcFile, char* pDstFile);

调用的时候很简单,附上示例代码:

#include "7z\LzmaUtil.h"
#pragma comment(lib, "7z\\LzmaUtil.lib")

void main()
{
    LzmaCompress("data.db", "data.7z");
    LzmaUncompress("data.7z", "data_new.db");
}

 生成dll、lib的代码、以及我写的一个Demo参考代码的下载地址:7zDll.7z

在编译Demo之前,需要先打开“Lzma\Lzma\LzmaUtil.sln”并进行编译,然后把生成的“LzmaUtil.dll”复制到Demo工程同一目录下,才能正常编译Demo和运行。

免责声明:文章转载自《最简单的7z API接口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL Server 存储过程Linux下的静态路由配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c 结构体中的变长数组

在Linux系统里,/usr/include/linux/if_pppox.h里面有这样一个结构: structpppoe_tag{ __u16tag_type; __u16tag_len; chartag_data[0]; }__attribute((packed)); 最后一个成员为可变长的数组,对于TLV(Type-Length-Value)形式的结...

接口测试常见bug

一、接口参数数据类型:1. 数值型2. 字符串类型3. 数组或者 链表类型4. 结构体二、接口测试常见bug:1. 特殊值处理不当导致程序异常退出或者崩溃2. 类型边界溢出,导致数据读出和写入不一致3. 取值边界外值未返回正确的错误信息4. 参数 为null或空字符串“”等5. 权限未处理,可以访问其他用户的信息例如:无权限可以访问,或者 一般用户可以访问...

Jmeter接口压力测试(先登录再测接口)

Jmeter测试接口(包括登陆操作) 1.      创建HTTP Request先登录 参考: http://blog.csdn.net/ab_2016/article/details/78249686 注意:勾选FollowRedirects 自动重定向Redirect Automatically:HttpClient接收到请求后,如果请求中包含重定...

为什么Editor类型模块中导出的蓝图接口在蓝图编辑器中无法使用—及代码位于引擎不同文件夹的意义

一、问题在UE中添加一些简单的蓝图接口,然后在蓝图编辑器中始终无法找到对应节点,无论是否勾选"Context Sensitive"。因为实现代码非常简单,简单到没有出错的可能,所以就觉得很神奇。好在尽管有很多乱七八糟的干扰信息,但是网上还是有答案https://forums.unrealengine.com/t/c-blueprint-function-n...

接口学习心得(Interface)

今天看了几篇接口的文章,看着看着,忽然有种感觉,我一直都理解错了! 我本来今天搜索文章的目的,是想查找一下,如何编写一个接口。可是看了几篇文章后,我发现,其实我这个问题的提出,就说明了我没有理解接口的用途。实际上,要明白接口,要先弄明白为什么要编写接口。我们要编写接口,是因为我们要编写的方法需要使用接口。我们编写接口的目的,是为了定制一种规范,如果用户写的...

Java-数据类型(八种基本数据类型)

1、整数类型:byte,short,int,longbyte:一般跟文件操作有关,比如上传、下载。长度8位,-128-127 byte numbyte1=133; //报错:cannot convert from int to byte //不能从int类型转换为byte类型 //整数常数看作int类型,但是如果取值范围在-128-127之间的话,自动把i...