lz77.h

来自「使用LZ77算法实现文件压缩 点击文件-压缩」· C头文件 代码 · 共 44 行

H
44
字号
#include <windows.h>
#ifndef __LZ77_H__
#define __LZ77_H__

#define OFFSET_CODING_LENGTH    (10)
#define MAX_WND_SIZE            1024
//#define MAX_WND_SIZE          (1<<OFFSET_CODING_LENGTH)
#define OFFSET_MASK_CODE        (MAX_WND_SIZE-1)



void		Write1ToBitStream(PUCHAR  pBuffer,ULONG   ulBitOffset);
void		Write0ToBitStream(PUCHAR  pBuffer,ULONG   ulBitOffset);
ULONG		ReadBitFromBitStream(PUCHAR  pBuffer,ULONG   ulBitOffset);
ULONG		WINAPI WriteGolombCode(ULONG   x,PUCHAR  pBuffer,ULONG   ulBitOffset);
ULONG		ReadGolombCode(PULONG  pulCodingLength,PUCHAR  pBuffer,ULONG   ulBitOffset);
ULONG		CompareStrings(PUCHAR  string1,PUCHAR  string2,ULONG   length);
void		ReadBits(PUCHAR  pDataBuffer,ULONG   ulOffsetToRead,PULONG  pulBits);
void WINAPI	FindLongestSubstring(PUCHAR  pSourceString,
							    PUCHAR  pString,
								ULONG   ulSourceStringLength,
								PULONG  pulSubstringOffset,
								PULONG  pulSubstringLength
								);
void		WriteBits(PUCHAR  pDataBuffer,
					ULONG   ulOffsetToWrite,
					ULONG   ulBits,
					ULONG   ulBitLength
					);

void		lz77compress(
						 PUCHAR  pDataBuffer,
						 ULONG   ulDataLength,
						PUCHAR  pOutputBuffer,
						PULONG  pulNumberOfBits
						);
void		lz77decompress(PUCHAR  pDataBuffer,
						ULONG   ulNumberOfBits,
						PUCHAR  pOutputBuffer,
						PULONG  pulNumberOfBytes
						);
BOOL		lz77(LPTSTR filename,LPTSTR savepath,bool bcompress);
void		GetFileExt(LPTSTR lpszFileName,int &cExtLen,char *szFileExt);
#endif

⌨️ 快捷键说明

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