lzw压缩算法的c语言实现

lzw压缩算法的c语言实现

ID:37798598

大小:68.35 KB

页数:16页

时间:2019-05-31

lzw压缩算法的c语言实现_第1页
lzw压缩算法的c语言实现_第2页
lzw压缩算法的c语言实现_第3页
lzw压缩算法的c语言实现_第4页
lzw压缩算法的c语言实现_第5页
资源描述:

《lzw压缩算法的c语言实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1程序由五个模块组成。(1)lzw.h定义了一些基本的数据结构,常量,还有变量的初始化等。#ifndef__LZW_H__#define__LZW_H__//------------------------------------------------------------------------------#include#include#include#include//------------------------------------------

2、------------------------------------#defineLZW_BASE0x102//Thecodebase#defineCODE_LEN12//Maxcodelength#defineTABLE_LEN4099//Itmustbeprimenumberandbiggerthan2^CODE_LEN=4096.//Suchas5051isalsook.#defineBUFFERSIZE1024//----------------------------------------------------------

3、--------------------typedefstruct{HANDLEh_sour;//Sourcefilehandle.HANDLEh_dest;//Destinationfilehandle.HANDLEh_suffix;//Suffixtablehandle.HANDLEh_prefix;//Prefixtablehandle.HANDLEh_code;//Codetablehandle.LPWORDlp_prefix;//Prefixtableheadpointer.LPBYTElp_suffix;//Suffixtabl

4、eheadpointer.LPWORDlp_code;//Codetableheadpointer.WORDcode;WORDprefix;BYTEsuffix;BYTEcur_code_len;//Currentcodelength.[usedinDynamic-Code-Lengthmode]}LZW_DATA,*PLZW_DATA;typedefstruct{WORDtop;WORDindex;LPBYTElp_buffer;HANDLEh_buffer;BYTEby_left;DWORDdw_buffer;BOOLend_flag;

5、}BUFFER_DATA,*PBUFFER_DATA;typedefstruct//Stackusedindecode{WORDindex;HANDLEh_stack;LPBYTElp_stack;}STACK_DATA,*PSTACK_DATA;//------------------------------------------------------------------------------VOIDstack_create(PSTACK_DATAstack){stack->h_stack=GlobalAlloc(GHND,TA

6、BLE_LEN*sizeof(BYTE));stack->lp_stack=GlobalLock(stack->h_stack);stack->index=0;}//------------------------------------------------------------------------------VOIDstack_destory(PSTACK_DATAstack){GlobalUnlock(stack->h_stack);GlobalFree(stack->h_stack);}//-----------------

7、-------------------------------------------------------------VOIDbuffer_create(PBUFFER_DATAbuffer){buffer->h_buffer=GlobalAlloc(GHND,BUFFERSIZE*sizeof(BYTE));buffer->lp_buffer=GlobalLock(buffer->h_buffer);buffer->top=0;buffer->index=0;buffer->by_left=0;buffer->dw_buffer=0;

8、buffer->end_flag=FALSE;}//---------------------------------------------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。