【发布时间】:2015-04-21 20:54:14
【问题描述】:
按照here 的示例后,我似乎失败了。
#define CHECK_ERR(retcode, msg) { \
if (retcode != Z_OK) { \
fprintf(stderr, "%s on using %s\r\n", zError(retcode), msg); \
exit(1); \
} \
}
int main(int argc, char* argv[]) {
Bytef a[1000];
Bytef b[1000];
Bytef c[1000];
uLongf compressed_size;
uLongf uncompressed_size;
int retcode;
size_t i;
uncompressed_size = 800;
for (i = 0; i < uncompressed_size; i++) {
a[i] = ((uint8_t)i) & 255;
}
retcode = compress(b, &compressed_size, a, uncompressed_size);
CHECK_ERR(retcode, "compress");
retcode = uncompress(c, &uncompressed_size, b, compressed_size);
CHECK_ERR(retcode, "uncompress");
}
我收到缓冲区错误:Z_BUF_ERROR (-5)
程序返回:
buffer error on using compress
【问题讨论】:
-
你有什么错误?
-
错误更明确
-
请准确说出程序输出的内容。你的代码应该告诉它是在
compress还是uncompress,对吧?