線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1161
推到 Plurk!
推到 Facebook!

Huffman 壓縮程式

答題得分者是:Zard
lalokalaloka
一般會員


發表:9
回覆:4
積分:2
註冊:2004-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-11 16:04:12 IP:140.117.xxx.xxx 未訂閱
我想要用 Huffman 的方式來做壓縮 所以必須把資料(譬如 rm txt 或者 jpg) ㄧ個byte ㄧ個 byte 讀進來 我該要怎樣讀呢 謝謝各位高手的指導
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-11 16:43:40 IP:61.64.xxx.xxx 未訂閱
引言: 我想要用 Huffman 的方式來做壓縮 所以必須把資料(譬如 rm txt 或者 jpg) ㄧ個byte ㄧ個 byte 讀進來 我該要怎樣讀呢 謝謝各位高手的指導
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TFileStream* fs = new TFileStream("c:\\1.dat", fmOpenRead);
  BYTE AByte;
  __try
  {
    while(fs->Read(&AByte, 1))
    {
      // 處理讀進來的這個 BYTE
    }
  }
  __finally
  {
    delete fs;
  }
}
lalokalaloka
一般會員


發表:9
回覆:4
積分:2
註冊:2004-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-11 20:18:01 IP:140.117.xxx.xxx 未訂閱
引言:
引言: 我想要用 Huffman 的方式來做壓縮 所以必須把資料(譬如 rm txt 或者 jpg) ㄧ個byte ㄧ個 byte 讀進來 我該要怎樣讀呢 謝謝各位高手的指導
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TFileStream* fs = new TFileStream("c:\\1.dat", fmOpenRead);
  BYTE AByte;
  __try  //這ㄧ行的意思是......
  {
    while(fs->Read(&AByte, 1))
    {
      // 處理讀進來的這個 BYTE                                     
     請問讀進來的 byte是存在 AByte 裡面嗎                    <---問題
     那我可以直接拿這ㄧ個 byte當作 char 然後跟 ASCII 碼比對嗎  謝謝
     
    }
  }
  __finally 
  {
    delete fs;
  }
}
發表人 - lalokalaloka 於 2004/12/11 20:40:09
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-11 20:26:43 IP:61.64.xxx.xxx 未訂閱
用 __try{...}__finally{...} 包起來的碼可以確保無論在__try{...}中發生什麼問題, 最後都一定會執行__finally{...}裡的碼, 我在這裡加上__try{..}__finally{..} 就是要確保TFileStream所使用的資料會被釋放, 所以我把delete fs 放在__finally{ } 裡
系統時間:2024-09-29 0:52:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!