【发布时间】:2013-04-18 09:19:12
【问题描述】:
我正在使用 zlib 编写一个在多个线程中压缩数据的程序。所以我不能使用gzwrite。我正在使用 compress2()。
*dest_len = compressBound(LOG_BUFF_SZ);
err = compress2((Bytef*)compressed_buff->buff, dest_len, (Bytef*)b->buff, size, GZ_INT_COMPRESSION_LEVEL);
write(fd, compressed_buff->buff, compressed_buff->full);
但是当我尝试通过 gzip -d 解压缩文件时,我看到下一个输出:“不是 gzip 格式”。我究竟做错了什么?谢谢你的回答
【问题讨论】:
-
你是否在不同的线程中压缩一个文件?
-
@AnishRam,实际上我压缩的不是文件,而是传入的缓冲区。这有点像日志系统。是的,我用不同的线程压缩它
标签: c io compression zlib