欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
使用zlib對swf壓縮文件進(jìn)行解壓縮


                                      

在flash6.0以后的版本中,輸出文件時(shí),都提供了壓縮這一選項,如果要在程序中獲得flash的內容,必須對flash進(jìn)行解壓縮。它使用的壓縮方法是zlib開(kāi)放源碼的壓縮方法。從第9個(gè)字節開(kāi)始到文件末尾全部進(jìn)行了壓縮,對其解壓縮也是非常簡(jiǎn)單,可以使用zlib1.dll中提供的uncompress對其進(jìn)行解壓縮。

具體使用方法,參見(jiàn)zlib的官方網(wǎng)站:http://www.zlib.net

里面惟一需要注意的是:壓縮和解壓縮的緩沖區的大小,應該是實(shí)際內容大小的 1.01倍+12 個(gè)字節。否則就可能出現錯誤。

基本代碼如下:

  CFile tmpfile;


  tmpfile.Open(filepath,CFile::modeRead);

  DWORD complen=tmpfile.GetLength();

  BYTE* header=(BYTE*)::GlobalAlloc(GPTR,8);


  BYTE* buf=(BYTE*)::GlobalAlloc(GPTR,(complen-8)*1.01+12);


  BYTE* bufd=(BYTE*)::GlobalAlloc(GPTR,(filelen-8)*1.01+12);

  tmpfile.Read(header,8);


  tmpfile.ReadHuge(buf,complen-8);

  tmpfile.Close();

  unsigned long destlen;//return the value of the destlen.

  uncompress(bufd,&destlen,buf,(complen-8)*1.01+12);

 //uncompress the swf file and return the destination file length.

  header[0]=‘F‘;//change the header indentifier.

 CString temp1,temp2;

  temp1=filepath.Left(filepath.GetLength()-4);

  temp2.Format("~%s$.swf",temp1);

  CFile filedes;

  filedes.Open(temp2,CFile::modeCreate|CFile::modeWrite);

  filedes.Write(header,8);

  filedes.Write(bufd,destlen);

  filedes.Close();

  ::GlobalFree(buf);

  ::GlobalFree(bufd);

  return temp2;

 

 

 

- 作者: ar4ever 2006年10月7日, 星期六 20:14


本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
CFtpConnect 下載處理
CRC循環(huán)校驗 java代碼實(shí)現
UNIX環(huán)境編程學(xué)習筆記(5)
樹(shù)莓派實(shí)現溫度監控并控制風(fēng)扇散熱 | 樹(shù)莓派實(shí)驗室
在linux下使用c語(yǔ)言操作臨時(shí)文件
在PHP中操作臨時(shí)文件
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久