zlib中基本函数都有哪些

zlib中基本函数都有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

10余年的泸州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整泸州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“泸州网站设计”,“泸州网站推广”以来,每个客户项目都认真落实执行。

获取版本函数:zlibVersion

       压缩函数:deflateInit、deflate、deflateEnd

  解压缩函数:inflateInit、inflate、inflateEnd

#include 
#include 

#include 
#include 

using namespace std;

#define CHUNK 16384

int def(FILE *source, FILE *dest, int level)
{
	z_stream strm;
	strm.zalloc = Z_NULL;
	strm.zfree = Z_NULL;
	strm.opaque = Z_NULL;
	deflateInit(&strm, level);

	int flush;
	int have;
	unsigned char in[CHUNK];
	unsigned char out[CHUNK];
	do 
	{
		strm.avail_in = fread(in, 1, CHUNK, source);
		strm.next_in = in;
		flush = feof(source) ? Z_FINISH : Z_NO_FLUSH;

		do 
		{
			strm.avail_out = CHUNK;
			strm.next_out = out;

			deflate(&strm, flush);

			have = CHUNK - strm.avail_out;
			fwrite(out, 1, have, dest);

		} while (0 == strm.avail_out);

	} while (Z_FINISH != flush);

	deflateEnd(&strm);

	return Z_OK;
}

int inf(FILE *source, FILE *dest)
{
	z_stream strm;
	strm.zalloc = Z_NULL;
	strm.zfree = Z_NULL;
	strm.opaque = Z_NULL;
	inflateInit(&strm);

	int ret = Z_OK;
	int have;
	unsigned char in[CHUNK];
	unsigned char out[CHUNK];
	do 
	{
		strm.avail_in = fread(in, 1, CHUNK, source);
		strm.next_in = in;
		if(0 == strm.avail_in)
			break;

		do 
		{
			strm.avail_out = CHUNK;
			strm.next_out = out;

			ret = inflate(&strm, Z_NO_FLUSH);

			have = CHUNK - strm.avail_out;
			fwrite(out, 1, have, dest);

		} while (0 == strm.avail_out);
	} while (Z_STREAM_END != ret);

	inflateEnd(&strm);

	return Z_OK;
}

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

	cout<<"zlibVersion:"<

此代码参数官网示例代码,本代码为了学习,只写了最简单的函数,没有错误处理。

看完上述内容,你们掌握zlib中基本函数都有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站标题:zlib中基本函数都有哪些
URL网址:http://myzitong.com/article/gedggp.html