c++ 使用zlib压缩文本

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

#define MaxBufferSize 1024 * 100

#pragma comment (lib,"zlibstat.lib")

//http://www.winimage.com/zLibDll/
//需要下载 zlib123dllx64 和zlib-1.2.3.tar.gz ,
// 把zlib-1.2.3.tar.gz里面的zlib.h 和zconf.h 包含进来
// 把zlib123dllx64里面的库   zlibstat.lib包含进来

//Linux 安装
//1.将zlib-1.2.3.tar.gz解压并到zlib-1.2.3目录下
//2.配置安装目录
//./configure   --prefix=/usr/local/zlib
//3.编译
//make
//4.安装
//make install
//完成后在 / usr / local / zlib / 目录下会多出 include / , lib / 目录。
//可以将这两个目录加到自己的项目工程中去,使用zlib压缩,解压。
 
 
int main(int argc, const char** argv)
{

     FILE* File_src;
     FILE* File_tmp;
     FILE* File_dest;

     unsigned long   len_src;
     unsigned long len_tmp;
     unsigned long len_dest;

     unsigned char* buffer_src = new unsigned char[MaxBufferSize];
     unsigned char* buffer_tmp = new unsigned char[MaxBufferSize];
     unsigned char* buffer_dest = new unsigned char[MaxBufferSize];
     
      File_src = fopen("src.txt", "r");
      len_src = fread(buffer_src, sizeof(char), MaxBufferSize - 1, File_src);

     //压缩
     compress(buffer_tmp, &len_tmp, buffer_src, len_src);


     File_tmp = fopen("tmp.txt", "w");
     fwrite(buffer_tmp, sizeof(char), len_tmp, File_tmp);

     std::cout   <<" compress length=" << len_tmp <<std::endl;

     //解压缩
     uncompress(buffer_dest, &len_dest, buffer_tmp, len_tmp);

     File_tmp = fopen("tmp.txt", "r");
     File_dest = fopen("dest.txt", "w");
     fwrite(buffer_dest, sizeof(char), len_dest, File_dest);

     delete [] buffer_src;
     delete [] buffer_tmp;
     delete [] buffer_dest;

    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_37981386/article/details/114936257
今日推荐