现在的位置: 首页 > 综合 > 正文

使用zlib库进行数据压缩

2013年07月11日 ⁄ 综合 ⁄ 共 984字 ⁄ 字号 评论关闭

/*
 * File:   main.c
 * Author: dreamsxin
 * http://www.zlib.net/
 * 使用zlib库进行数据压缩
 * 静态库(.a)
    ./configure
    make
    make install
 * 共享库(.so)
    ./configure -s
    make
    make install;
 * Created on 2010年4月30日, 下午1:16
 */

#include <stdio.h>
#include <stdlib.h>
#include "zlib.h"

int main(int argc, char** argv) {
    //原始数据
    const unsigned char strSrc[] = "hello world!/n/
aaaaa bbbbb ccccc ddddd eeeee fffff ggggg 中文测试 中文测试/
aaaaa bbbbb ccccc ddddd eeeee fffff ggggg 中文测试 中文测试/
aaaaa bbbbb ccccc ddddd eeeee fffff ggggg 中文测试 中文测试/
aaaaa bbbbb ccccc ddddd eeeee fffff ggggg 中文测试 中文测试";
    unsigned char buf[1024] = {0}, strDst[1024] = {0};
    unsigned long srcLen = sizeof (strSrc), bufLen = sizeof (buf), dstLen = sizeof (strDst);
    printf("Src string:%s/nLength:%d/n", strSrc, srcLen);

    //压缩
    compress(buf, &bufLen, strSrc, srcLen);
    printf("/nAfter Compressed Length:%d/n", bufLen);
    printf("Compressed String:%s/n", buf);

    //解压缩
    uncompress(strDst, &dstLen, buf, bufLen);
    printf("/nAfter UnCompressed Length:%d/n", dstLen);
    printf("UnCompressed String:%s/n", strDst);
    return (EXIT_SUCCESS);
}

抱歉!评论已关闭.