zlib.h 中的compress 和 uncompress

2130阅读 0评论2016-03-30 linux_sjj
分类:LINUX


int compress (Bytef * dest , uLongf * destLen, constt Bytef * source , uLongf sourceLen)

zib的压缩函数,将source处sourceLen个字节进行压缩,放到dest指向的内存,把压缩后的长度存入destLen指向的地址中。调用前destLen表示dest缓冲区,调用后destLen表示压缩后的长度。调用前需指定destLen。

return:

  Z_OK 成功,

  Z_MEM_ERROR 内存不足

  Z_BUF_ERROR dest的缓冲区太小

int uncompress(Bytef *dest, uLongf *destLen,const Bytef *source, uLongf sourceLen)

zlib的解压缩函数,将source处sourceLen个字节解压缩,放到大小为destLend的dest缓冲区中,将最终的长度放到destLen指向的地址中。

所以调用前需赋值destLen

return:

  Z_OK 成功,

  Z_MEM_ERROR 内存不足

  Z_BUF_ERROR dest的缓冲区太小

  Z_DATA_ERROR 输入数据有误

 

上一篇:获取http的gzip内容,并解压
下一篇:Linux网络编程:原始套接字的魔力【上】