zlib下载文件在哪

zlib下载文件在哪,第1张

第一步 下载并解压zlib压缩包

打开zlib官网,找到下载链接,右键复制地址:

在Linux中使用wget命令下载,执行如下命令开始下载:

wget http://zlib.net/zlib-1.2.8.tar.gz

解压:

tar zxvf zlib-1.2.8.tar.gz

第二步 开始安装

安装过程比较简单,进入zlib的解压目录,依次执行下面几条命令即可:

配置:

./configure

如果之前没有安装gcc(C 编译器),这一步将报如下错误信息::

xueliang@dev:~/download/zlib-1.2.8$ ./configure

Checking for gcc…

Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).

** ./configure aborting.

xueliang@dev:~/download/zlib-1.2.8$

希望我的回答能对你有所帮助。

1 准备工作。下载zlib.dll。以及相关头文件。将dll文件及头文件加入工程。2 压缩:调用函数compress.形式为int compress(Byte * dest, uLong* destLen, const Byte *source, ULONG sourceLen)功能是将source指向的空间,长度为sourceLen的数据进行压缩,压缩数据储存在dest中,长度由参数destLen返回。如果压缩出错,返回对应错误号,否则返回0.3解压缩:调用函数uncompress.形式为int uncompress(Byte * dest, uLong* destLen, const Byte *source, ULONG sourceLen)功能是将source指向的空间,长度为sourceLen的数据进行解压缩,解压缩后的数据储存在dest中,长度由参数destLen返回。如果解压缩出错,返回对应错误号,否则返回0.

下面是使用zlib库的压缩和解压缩演示代码:

#include <stdlib.h>

#include <stdio.h>

#include <zlib.h>

int main(int argc, char* argv[])

{

FILE* file

uLong flen

unsigned char* fbuf = NULL

uLong clen

unsigned char* cbuf = NULL

/* 通过命令行参数将srcfile文件的数据压缩后存放到dstfile文件中 */

if(argc < 3)

{

printf("Usage: zcdemo srcfile dstfile\n")

return -1

}

if((file = fopen(argv[1], "rb")) == NULL)

{

printf("Can\'t open %s!\n", argv[1])

return -1

}

/* 装载源文件数据到缓冲区 */

fseek(file, 0L, SEEK_END)    /* 跳到文件末尾 */

flen = ftell(file)        /* 获取文件长度 */

fseek(file, 0L, SEEK_SET)

if((fbuf = (unsigned char*)malloc(sizeof(unsigned char) * flen)) == NULL)

{

printf("No enough memory!\n")

fclose(file)

return -1

}

fread(fbuf, sizeof(unsigned char), flen, file)

/* 压缩数据 */

clen = compressBound(flen)

if((cbuf = (unsigned char*)malloc(sizeof(unsigned char) * clen)) == NULL)

{

printf("No enough memory!\n")

fclose(file)

return -1

}

if(compress(cbuf, &clen, fbuf, flen) != Z_OK)

{

printf("Compress %s failed!\n", argv[1])

return -1

}

fclose(file)

if((file = fopen(argv[2], "wb")) == NULL)

{

printf("Can\'t create %s!\n", argv[2])

return -1

}

/* 保存压缩后的数据到目标文件 */

fwrite(&flen, sizeof(uLong), 1, file)    /* 写入源文件长度 */

fwrite(&clen, sizeof(uLong), 1, file)    /* 写入目标数据长度 */

fwrite(cbuf, sizeof(unsigned char), clen, file)

fclose(file)

free(fbuf)

free(cbuf)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11403661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存