91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.45MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-15
  • 語言: C/C++
  • 標簽: lz??數據壓縮??c??

資源簡介

基于lz77的c語言代碼 直接運行即可 直接往源文件.txt中輸入信息,在壓縮文件和解壓文件中即有相應顯示

資源截圖

代碼片段和文件信息


#include?
#include?
#include?
#include?
#include

#define?OFFSET_CODING_LENGTH????(10)
#define?MAX_WND_SIZE????????????1024

#define?OFFSET_MASK_CODE????????(MAX_WND_SIZE-1)

const?ULONG?????m=3;


UCHAR???__buffer1__[0x200000];
UCHAR???__buffer2__[0x200000];



void
Write1ToBitStream(
???PUCHAR??pBuffer
???ULONG???ulBitOffset
???)
{
???ULONG???ulByteBoundary;
???ULONG???ulOffsetInByte;

???ulByteBoundary?=?ulBitOffset>>3?;
???ulOffsetInByte?=?ulBitOffset&7;

???*(pBuffer+ulByteBoundary)?|=?(1<}

void
Write0ToBitStream(
???PUCHAR??pBuffer
???ULONG???ulBitOffset
???)
{
???ULONG???ulByteBoundary;
???ULONG???ulOffsetInByte;

???ulByteBoundary?=?ulBitOffset>>3?;
???ulOffsetInByte?=?ulBitOffset&7;

???*(pBuffer+ulByteBoundary)?&=?(~(1<}

ULONG
ReadBitFromBitStream(
???PUCHAR??pBuffer
???ULONG???ulBitOffset
???)
{
???ULONG???ulByteBoundary;
???ULONG???ulOffsetInByte;

???ulByteBoundary?=?ulBitOffset>>3?;
???ulOffsetInByte?=?ulBitOffset&7;

???return?((*(PULONG)(pBuffer+ulByteBoundary))>>ulOffsetInByte)&1?;
}


ULONG?WINAPI
WriteGolombCode(
???ULONG???x
???PUCHAR??pBuffer
???ULONG???ulBitOffset
???)
{
???ULONG???????????q?r;
???int?????????????i;

???q?=?(x-1)>>m;
???r?=?x-(q<
???for(i=0;?(ULONG)i???{
???????Write1ToBitStream(pBuffer?ulBitOffset);
???}
???Write0ToBitStream(pBuffer?ulBitOffset);
???ulBitOffset++;

???for(i=0;?i???{
???????if(?(r>>i)&1?)
???????{
???????????Write1ToBitStream(pBuffer?ulBitOffset);
???????}
???????else
???????{
???????????Write0ToBitStream(pBuffer?ulBitOffset);
???????}
???}

???return?m+q+1;
}


ULONG
ReadGolombCode(
???PULONG??pulCodingLength
???PUCHAR??pBuffer
???ULONG???ulBitOffset
???)
{
???ULONG???q?r;
???ULONG???bit;
???int?i;

???for(q=0;?;q++)
???{
???????bit?=?(ULONG)ReadBitFromBitStream(pBuffer?ulBitOffset);
???????ulBitOffset++;
???????if(?!bit?)
???????{
???????????break;
???????}
???}


???for(i=0?r=0;?(ULONG)i???{
???????bit?=?(ULONG)ReadBitFromBitStream(pBuffer?ulBitOffset);
???????bit?<<=?i;
???????r?|=?bit;
???}

???*pulCodingLength?=?m?+?q?+?1;

???return?r+(q<}


ULONG
CompareStrings(
???PUCHAR??string1
???PUCHAR??string2
???ULONG???length
???)
{
???ULONG???????i;
???PUCHAR??????p1?p2;

???p1?=?string1;
???p2?=?string2;

???for(i=0;?i???{
???????if(?*p1==*p2?)
???????{
???????????p1++;
???????????p2++;
???????}
???????else
???????{
???????????break;
???????}
???}

???return?p1-string1;
}


void?WINAPI
FindLongestSubstring(
???PUCHAR??pSourceString
???PUCHAR??pString
???ULONG???ulSourceStringLength
???PULONG??pulSubstringOffset
???PULONG??pulSubstringLength
???)
{
???PUCHAR??pSrc;

???ULONG???offset?length;

???ULONG???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-11?12:44??完成版lz77程序\
?????目錄???????????0??2014-04-11?12:44??完成版lz77程序\Debug\
?????文件??????233525??2014-04-11?12:31??完成版lz77程序\Debug\lz77.exe
?????文件??????273464??2014-04-11?12:31??完成版lz77程序\Debug\lz77.ilk
?????文件???????30226??2014-04-11?12:31??完成版lz77程序\Debug\lz77.obj
?????文件?????3627720??2014-04-11?12:18??完成版lz77程序\Debug\lz77.pch
?????文件??????574464??2014-04-11?12:31??完成版lz77程序\Debug\lz77.pdb
?????文件??????156672??2014-04-11?12:44??完成版lz77程序\Debug\vc60.idb
?????文件???????86016??2014-04-11?12:31??完成版lz77程序\Debug\vc60.pdb
?????文件???????11772??2014-04-11?12:31??完成版lz77程序\lz77.cpp
?????文件????????3377??2014-04-11?12:44??完成版lz77程序\lz77.dsp
?????文件?????????516??2014-04-11?12:44??完成版lz77程序\lz77.dsw
?????文件???????50176??2014-04-11?12:44??完成版lz77程序\lz77.ncb
?????文件???????48640??2014-04-11?12:44??完成版lz77程序\lz77.opt
?????文件?????????242??2014-04-11?12:44??完成版lz77程序\lz77.plg
?????文件???????????0??2014-04-11?12:45??完成版lz77程序\壓縮文件.txt
?????文件???????????0??2014-04-11?12:45??完成版lz77程序\源文件.txt
?????文件???????????0??2014-04-11?12:45??完成版lz77程序\解壓文件.txt

評論

共有 條評論