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

📄 testlzw.cpp

📁 该软件用lzw算法完成对文件的压缩和解压缩
💻 CPP
字号:
// TestLzw.cpp:实现文件数据的压缩和解压.
//
#include <windows.h>
#include "LZW.h"

//---------------------------------------------------------------------------
// 压缩函数.
void EncodeFile(LPCSTR szFileName,LPCSTR szFileTarget)
{
	FILE *fpr,*fpw;
	if((fpw=fopen(szFileTarget,"wb"))==NULL)
		return;
	int c;
	
	CLZW lzw;
	lzw.compress_init(fpw,9);
	if((fpr=fopen(szFileName,"rb"))!=NULL)	{
		while((c=getc(fpr))!=EOF)
			lzw.compress_byte(c);
		fclose(fpr);
	}
	
	lzw.compress_term();
	fclose(fpw);
}

//---------------------------------------------------------------------------
// 解压函数.
void DecodeFile(LPCSTR szFileName,LPCSTR szFileTarget)
{
	FILE *fpr,*fpw;
	if((fpr=fopen(szFileName,"rb"))==NULL)
		return;
	int c;
	CLZW lzw;
	lzw.InitLZWCode(fpr,9);
    
	if((fpw=fopen(szFileTarget,"wb"))!=NULL) {	
		while((c=lzw.LZWReadByte())!=257)
			fputc(c,fpw);
		fclose(fpw);
	}
	fclose(fpr);
}

//---------------------------------------------------------------------------
// 主函数.
void main()
{
	EncodeFile("calc.exe","calc.tmp");
	DecodeFile("calc.tmp","calc_new.exe");
}

⌨️ 快捷键说明

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