zlib压缩二进制文件的问题
要压缩一批二进制文件,文件大小大从几十k到几M吧。
想使用zlib,看到zlib库中有一个文件zpipe.c,里面写了两个方法def(压缩)和inf(解压),想拿来直接使用。
但使用的时候有问题,压缩后的文件是变小了,但解压后只有0k了。
哪位了解情况的指导一下,非常感谢!
我是这么使用的,直接修改了main函数中的语句来测试。
想使用zlib,看到zlib库中有一个文件zpipe.c,里面写了两个方法def(压缩)和inf(解压),想拿来直接使用。
但使用的时候有问题,压缩后的文件是变小了,但解压后只有0k了。
哪位了解情况的指导一下,非常感谢!
我是这么使用的,直接修改了main函数中的语句来测试。
/* compress or decompress from stdin to stdout */
int main(int argc, char **argv)
{
int ret;
FILE *src, *temp, *des;
src = fopen("c:\\test.txt", "r"); // source file
temp = fopen("c:\\test2.txt", "w+"); // compressed file
des = fopen("c:\\test3.txt", "w+"); // uncompressed file, 0K
/* do compression if no arguments */
if (argc == 1) {
ret = def(src, temp, Z_DEFAULT_COMPRESSION);//the original statement is ret = def(standin, standout, Z_DEFAULT_COMPRESSION);
ret = inf(temp, des); // I add the stament to uncompress
if (ret != Z_OK)
zerr(ret);
return ret;
}
/* do decompression if -d specified */
else if (argc == 2 && strcmp(argv[1], "-d") == 0) {
ret = inf(stdin, stdout);
if (ret != Z_OK)
zerr(ret);
return ret;
}
/* otherwise, report usage */
else {
fputs("zpipe usage: zpipe [-d] < source > dest\n", stderr);
return 1;
}
...全文
相关推荐
z_file.rar_.Z压缩_z-file_zlib_zlib 压缩文件_文件压缩
文件压缩实例 zlib很好的压缩实例
数据流压缩之应用篇zlib库
关于数据流压缩的原理,lz77以及huffman编码可以参考上一篇: https://blog.csdn.net/sesiria/article/details/116835301 本篇将包含以下内容: 1. gzip格式分析 2. zlib库函数API分析 3. zlib库实战(压缩和解压文件) gzip格式采用deflate算法来实现数据的压缩 一、deflate采用了改进版的lz77算法 即:三个字节以上重复才进行编码,否则不进行编码;即对滑动窗口进行查询的时候最短的匹配大..
c# zlib源码
c#的zlib压缩算法,封装得很好,压缩包里有demo。简单易用
zlib-master
交叉编译zlib,openssl,数据压缩
zlib-1.2.5-bin-x64.zip
zlib库


工具平台和程序库
