⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usezlib.cpp

📁 可以对内存数据直接压缩、解压函数库
💻 CPP
字号:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "zlib.h"
#define DESLEN 100
char mySrc[100] = {0};
char myDes[DESLEN] = {0};
void main(void)
{

	char filename[_MAX_FNAME] = {0};
	int desLen = 0;
	int srcLen = -1;
	int err= 0;
	FILE *fp= NULL,*fpw = NULL;
	z_stream zStm = {0};
	z_streamp pZstm= &zStm;
	cout<<"filename"<<endl;
	cin>>filename;
	fp =fopen(filename,"rb");
	fpw =fopen("a.htm","wb");
	desLen = DESLEN;
	pZstm->data_type = 0;
	pZstm->msg = "hello";
	inflateInit(pZstm);
	for(;!feof(fp);)
	{
		srcLen = fread(mySrc,sizeof(char),100,fp);
		pZstm->next_in = (unsigned char *)mySrc;
		pZstm->avail_in = srcLen;
		pZstm->next_out = (unsigned char *)myDes;           
        pZstm->avail_out = (uInt)desLen;
        err = inflate(pZstm, 0);
		while(err == Z_OK && pZstm->avail_out ==0)
		{
			cout<<myDes;
			memset(myDes,0,DESLEN);
			pZstm->next_out = (unsigned char *)myDes;           
			pZstm->avail_out = (uInt)desLen;
			err = inflate(pZstm, 0);
		
		}
		cout<<myDes;
        if (err == Z_STREAM_END) {
			break;
		}
		memset(myDes,0,DESLEN);
	}
	fwrite(myDes,sizeof(char),desLen,fpw);
	fclose(fp);
	fclose(fpw);

	gzFile  mygzfile ;
	int gz =0;
	mygzfile = gzopen("a.gz","rb");
	if(mygzfile)
	{
		while(!gzeof(mygzfile))
		{
			printf("%c",gzgetc(mygzfile));
			
		}
	}
	gzclose(mygzfile);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -