?? testlzw.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 + -