首页
社区
课程
招聘
未解决 [已解决]zlib压缩后,解压的数据不正确.多出若干0x0D字节
发表于: 2019-3-11 00:44 2114

未解决 [已解决]zlib压缩后,解压的数据不正确.多出若干0x0D字节

2019-3-11 00:44
2114
请问各位大佬,为什么我使用zlib解压数据会出现多余字节.  解压不正确.
是我哪里用错了吗?
下面是我的压缩和解压代码:
===================================================================
//读取并打包资源文件;
UINT ReadLen = fread(TmpData, sizeof(char), FileLen, TmpFile);
//申请压缩缓冲区;
UINT zliblen = compressBound(ReadLen);
void *zlibData = LocalAlloc(LMEM_ZEROINIT, zliblen + 10);
if (!zlibData)return FALSE;
/压缩资源包数据;
compress((Bytef*)zlibData, (uLongf*)&zliblen, (Bytef*)TmpData, FileLen);
//解压出文件
FILE *pf = fopen("E:\\ProjectCode\\C&C++\\Game\\Resource\\Debug\\New\\uncompress.db", "w");
//临时解压数据置零
ZeroMemory(TmpData, FileLen);
//解压数据
uncompress((Bytef*)TmpData, (uLongf*)&FileLen, (Bytef*)zlibData, zliblen);
//写出解压数据到文件;
fwrite(TmpData, FileLen, 1, pf);
fclose(pf);
如下图,解压数据会多出 0x0D字节; 而且很多.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-3-11 00:54 被ezrealik编辑 ,原因: 已解决
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 29366
活跃值: (7905)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
2
fopen("", "wb");
2019-3-11 00:48
1
雪    币: 1570
活跃值: (383)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
风间仁 fopen("", "wb");
哦哦. 非常感谢. 没注意到这个小细节.
2019-3-11 00:54
0
雪    币: 1289
活跃值: (1337)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
代码风格真好
2019-3-11 08:34
0
雪    币: 1289
活跃值: (1337)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我每次命名一大堆自己都不知道怎么命名的
2019-3-11 08:34
0
雪    币: 12520
活跃值: (5263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

”wb”是以二进制模式进行写入
学习了
2019-3-11 11:23
0
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
2019-3-11 11:44
0
游客
登录 | 注册 方可回帖
返回
//