#include <QtCore/QCoreApplication>
#include "zlib.h"
#include "stdio.h"
#include <iostream>
using namespace std;
#define MaxBufferSize 999999
void Test1();
void Test2();
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//Test1();
Test2();
return a.exec();
}
//c++ zlib
void Test1()
{
FILE* File_src;
FILE* File_compress;
FILE* File_uncompress;
unsigned long len_src;
unsigned long len_compress;
unsigned long len_uncompress;
unsigned char *buffer_src = new unsigned char[MaxBufferSize];
unsigned char *buffer_compress = new unsigned char[MaxBufferSize];
unsigned char *buffer_uncompress = new unsigned char[MaxBufferSize];
File_src = fopen("src.txt","r");
File_compress = fopen("compress.txt","w");
File_uncompress = fopen("uncompress.txt","w");
//compress
len_src = fread(buffer_src,sizeof(char),MaxBufferSize-1,File_src);
compress(buffer_compress,&len_compress,buffer_src,len_src);
fwrite(buffer_compress,sizeof(char),len_compress,File_compress);
cout << "normal zlib:" << endl;
cout << "src:\n" << buffer_src << ",length:" << len_src << endl << endl;
cout << "compress:\n" << buffer_compress << ",length:" << len_compress << endl << endl;
//uncompress
uncompress(buffer_uncompress,&len_uncompress,buffer_compress,len_compress);
fwrite(buffer_uncompress,sizeof(char),len_uncompress,File_uncompress);
cout << "uncompress:\n" << buffer_uncompress << ",length:" << len_uncompress << endl << endl;
fclose(File_src);
fclose(File_compress);
fclose(File_uncompress);
}
//qt zlib
void Test2()
{
QByteArray src;
src.append("中华人民共和国,china mobile,123456");
unsigned long len_compress;
unsigned long len_uncompress;
unsigned char *buffer_compress = new unsigned char[MaxBufferSize];
unsigned char *buffer_uncompress = new unsigned char[MaxBufferSize];
compress(buffer_compress,&len_compress,(Bytef*)src.data(), src.length());
uncompress(buffer_uncompress,&len_uncompress,buffer_compress,len_compress);
cout << "qt zlib:" << endl;
cout << "src:\n" << src.data() << ",length:" << src.size() << endl << endl;
cout << "compress:\n" << buffer_compress << ",length:" << len_compress << endl << endl;
cout << "uncompress:\n" << buffer_uncompress << ",length:" << len_uncompress << endl << endl;
}