在zlib库函数中compress压缩后,为何目的字符串长度反而大了?

gxl123 2011-07-13 09:59:29
如:
// Compress data
unsigned long destLen = (double)nSize * 1.001 + 12;
LPBYTE pDest = new BYTE[destLen];

if (pDest == NULL)
return 0;

int nRet = compress(pDest, &destLen, lpData, nSize);


反回的结果是 destLen>nSize,
这是为何?
按理说压缩了,文件长度应该变小才是啊

请教各位
...全文
874 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
3m2u 2011-07-13
  • 打赏
  • 举报
回复
压缩并不能保证一定比原来小的。
你用长点的lpdata测试一下
几十字节应该就能压缩了
不说害怕 2011-07-13
  • 打赏
  • 举报
回复
正常的。一般压缩要建立字典的。
所以已经被压过的或者压缩率低的情况下。可能引起增大。所以压缩的时候目的缓冲总得比源缓冲大。
tzxx 2011-07-13
  • 打赏
  • 举报
回复
字符串很小吧?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧