C++中如何调用zlib.dll进行解压和压缩 20

最近在学习汉化游戏,解包要用到这个,希望能提供详细方法,我只学过C,当然别的语言你能讲明白也行... 最近在学习汉化游戏,解包要用到这个,希望能提供详细方法,我只学过C,当然别的语言你能讲明白也行 展开
 我来答
嫑名字可以吗
推荐于2016-02-11 · TA获得超过389个赞
知道答主
回答量:90
采纳率:0%
帮助的人:7.9万
展开全部
1 准备工作。
下载zlib.dll。以及相关头文件。将dll文件及头文件加入工程。
2 压缩:
调用函数compress.
形式为
int compress(Byte * dest, uLong* destLen, const Byte *source, ULONG sourceLen);
功能是将source指向的空间,长度为sourceLen的数据进行压缩,压缩数据储存在dest中,长度由参数destLen返回。
如果压缩出错,返回对应错误号,否则返回0.

3解压缩:
调用函数uncompress.
形式为
int uncompress(Byte * dest, uLong* destLen, const Byte *source, ULONG sourceLen);
功能是将source指向的空间,长度为sourceLen的数据进行解压缩,解压缩后的数据储存在dest中,长度由参数destLen返回。
如果解压缩出错,返回对应错误号,否则返回0.
蘅远的夜
2012-12-10 · TA获得超过6742个赞
知道大有可为答主
回答量:2.2万
采纳率:0%
帮助的人:5884万
展开全部
您可以使用三个函数来解决:
(1)压缩(Bytef * dest中uLongf * destLen实用常量Bytef *源的ULONG sourceLen),
的源缓冲区被压缩到一个目标缓冲区。
(2)ULONG compressBound(ULONG sourceLen);
计算长度的缓冲区。假设您想知道您的生产前sourcelen如何调用这个函数的计算数据压缩的压缩,该功能没有得到准确的结果,但它可以确保的实际输出是肯定的长度小于计算长度
(3)解压缩(Bytef * dest中uLongf * destLen,常量Bytef *源ULONG sourceLen);
解压缩。
上述三个功能,只要可以解决房东问题。

关注的主题,以帮人帮自己?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2012-12-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5496万
展开全部
编程序要 添加头文件zlib.h, 编译时要链接 zlib.lib,运行时要用到 zlib.dll。

不是一句两句话说得清的。zlib 包里有例子。先照猫画虎学习 加压,解压。再学如何 解压 别人加压好的东西。
追问
求个zlib包,zlib.net上太多了不知道下哪个
追答
版本 1.1.4, March 11th, 2002 或 更加新的版本都可以。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
archmageee4
2015-11-01 · TA获得超过1516个赞
知道大有可为答主
回答量:1581
采纳率:78%
帮助的人:902万
展开全部
zlib是个很小的库 ,可以到github下载zlib的源代码,它里面负责压缩和解压缩的函数就1,2个.很容易使用的.就两个函数不值得搞dll. dll调用还是挺烦得.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
9965955
2015-10-05 · TA获得超过146个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:107万
展开全部
编程序要 添加头文件zlib.h, 编译时要链接 zlib.lib,运行时要用到 zlib.dll。

压缩和解压分别通过compress和uncompress函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式