zlib中基本函数都有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
站在用户的角度思考问题,与客户深入沟通,找到成安网站设计与成安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、做网站、企业官网、英文网站、手机端网站、网站推广、申请域名、雅安服务器托管、企业邮箱。业务覆盖成安地区。获取版本函数: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中基本函数都有哪些-创新互联
当前地址:http://bzwzjz.com/article/ghcep.html