亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? list.cpp

?? 我把unrar的代碼整理成vc工程了
?? CPP
字號(hào):
#include "rar.hpp"static void ListFileHeader(FileHeader &hd,bool Verbose,bool Technical,bool &TitleShown,bool Bare);static void ListSymLink(Archive &Arc);static void ListFileAttr(uint A,int HostOS);static void ListOldSubHeader(Archive &Arc);static void ListNewSubHeader(CommandData *Cmd,Archive &Arc,bool Technical);void ListArchive(CommandData *Cmd){  Int64 SumPackSize=0,SumUnpSize=0;  uint ArcCount=0,SumFileCount=0;  bool Technical=(Cmd->Command[1]=='T');  bool Bare=(Cmd->Command[1]=='B');  bool Verbose=(*Cmd->Command=='V');  char ArcName[NM];  wchar ArcNameW[NM];  while (Cmd->GetArcName(ArcName,ArcNameW,sizeof(ArcName)))  {    Archive Arc(Cmd);#ifdef _WIN_32    Arc.RemoveSequentialFlag();#endif    if (!Arc.WOpen(ArcName,ArcNameW))      continue;    bool FileMatched=true;    while (1)    {      Int64 TotalPackSize=0,TotalUnpSize=0;      uint FileCount=0;      if (Arc.IsArchive(true))      {        if (!Arc.IsOpened())          break;        bool TitleShown=false;        if (!Bare)        {          Arc.ViewComment();          // RAR can close a corrupt encrypted archive          if (!Arc.IsOpened())            break;          mprintf("\n");          if (Arc.Solid)            mprintf(St(MListSolid));          if (Arc.SFXSize>0)            mprintf(St(MListSFX));          if (Arc.Volume)            if (Arc.Solid)              mprintf(St(MListVol1));            else              mprintf(St(MListVol2));          else            if (Arc.Solid)              mprintf(St(MListArc1));            else              mprintf(St(MListArc2));          mprintf(" %s\n",Arc.FileName);          if (Technical)          {            if (Arc.Protected)              mprintf(St(MListRecRec));            if (Arc.Locked)              mprintf(St(MListLock));          }        }        while(Arc.ReadHeader()>0)        {          int HeaderType=Arc.GetHeaderType();          if (HeaderType==ENDARC_HEAD)            break;          switch(HeaderType)          {            case FILE_HEAD:              IntToExt(Arc.NewLhd.FileName,Arc.NewLhd.FileName);              if ((FileMatched=Cmd->IsProcessFile(Arc.NewLhd))==true)              {                ListFileHeader(Arc.NewLhd,Verbose,Technical,TitleShown,Bare);                if (!(Arc.NewLhd.Flags & LHD_SPLIT_BEFORE))                {                  TotalUnpSize+=Arc.NewLhd.FullUnpSize;                  FileCount++;                }                TotalPackSize+=Arc.NewLhd.FullPackSize;                if (Technical)                  ListSymLink(Arc);#ifndef SFX_MODULE                if (Verbose)                  Arc.ViewFileComment();#endif              }              break;#ifndef SFX_MODULE            case SUB_HEAD:              if (Technical && FileMatched && !Bare)                ListOldSubHeader(Arc);              break;#endif            case NEWSUB_HEAD:              if (FileMatched && !Bare)              {                if (Technical)                  ListFileHeader(Arc.SubHead,Verbose,true,TitleShown,false);                ListNewSubHeader(Cmd,Arc,Technical);              }              break;          }          Arc.SeekToNext();        }        if (!Bare)          if (TitleShown)          {            mprintf("\n");            for (int I=0;I<79;I++)              mprintf("-");            char UnpSizeText[20];            itoa(TotalUnpSize,UnpSizeText);                    char PackSizeText[20];            itoa(TotalPackSize,PackSizeText);                    mprintf("\n%5lu %16s %8s %3d%%",FileCount,UnpSizeText,                    PackSizeText,ToPercentUnlim(TotalPackSize,TotalUnpSize));            SumFileCount+=FileCount;            SumUnpSize+=TotalUnpSize;            SumPackSize+=TotalPackSize;#ifndef SFX_MODULE            if (Arc.EndArcHead.Flags & EARC_VOLNUMBER)            {              mprintf("       ");              mprintf(St(MVolumeNumber),Arc.EndArcHead.VolNumber+1);            }#endif            mprintf("\n");          }          else            mprintf(St(MListNoFiles));        ArcCount++;#ifndef NOVOLUME        if (Cmd->VolSize!=0 && ((Arc.NewLhd.Flags & LHD_SPLIT_AFTER) ||            Arc.GetHeaderType()==ENDARC_HEAD &&            (Arc.EndArcHead.Flags & EARC_NEXT_VOLUME)!=0) &&            MergeArchive(Arc,NULL,false,*Cmd->Command))        {          Arc.Seek(0,SEEK_SET);        }        else#endif          break;      }      else      {        if (Cmd->ArcNames->ItemsCount()<2 && !Bare)          mprintf(St(MNotRAR),Arc.FileName);        break;      }    }  }  if (ArcCount>1 && !Bare)  {    char UnpSizeText[20],PackSizeText[20];    itoa(SumUnpSize,UnpSizeText);    itoa(SumPackSize,PackSizeText);    mprintf("\n%5lu %16s %8s %3d%%\n",SumFileCount,UnpSizeText,            PackSizeText,ToPercentUnlim(SumPackSize,SumUnpSize));  }}void ListFileHeader(FileHeader &hd,bool Verbose,bool Technical,bool &TitleShown,bool Bare){  if (!Bare)  {    if (!TitleShown)    {      if (Verbose)        mprintf(St(MListPathComm));      else        mprintf(St(MListName));      mprintf(St(MListTitle));      if (Technical)        mprintf(St(MListTechTitle));      for (int I=0;I<79;I++)        mprintf("-");      TitleShown=true;    }    if (hd.HeadType==NEWSUB_HEAD)      mprintf(St(MSubHeadType),hd.FileName);    mprintf("\n%c",(hd.Flags & LHD_PASSWORD) ? '*' : ' ');  }  char *Name=hd.FileName;#ifdef UNICODE_SUPPORTED  char ConvertedName[NM];  if ((hd.Flags & LHD_UNICODE)!=0 && *hd.FileNameW!=0 && UnicodeEnabled())  {    if (WideToChar(hd.FileNameW,ConvertedName) && *ConvertedName!=0)      Name=ConvertedName;  }#endif  if (Bare)  {    mprintf("%s\n",Verbose ? Name:PointToName(Name));    return;  }  if (Verbose)    mprintf("%s\n%12s ",Name,"");  else    mprintf("%-12s",PointToName(Name));  char UnpSizeText[20],PackSizeText[20];  if (hd.FullUnpSize==INT64MAX)    strcpy(UnpSizeText,"?");  else    itoa(hd.FullUnpSize,UnpSizeText);  itoa(hd.FullPackSize,PackSizeText);  mprintf(" %8s %8s ",UnpSizeText,PackSizeText);  if ((hd.Flags & LHD_SPLIT_BEFORE) && (hd.Flags & LHD_SPLIT_AFTER))    mprintf(" <->");  else    if (hd.Flags & LHD_SPLIT_BEFORE)      mprintf(" <--");    else      if (hd.Flags & LHD_SPLIT_AFTER)        mprintf(" -->");      else        mprintf("%3d%%",ToPercentUnlim(hd.FullPackSize,hd.FullUnpSize));  char DateStr[50];  hd.mtime.GetText(DateStr,false);  mprintf(" %s ",DateStr);  if (hd.HeadType==NEWSUB_HEAD)    mprintf("  %c....B  ",(hd.SubFlags & SUBHEAD_FLAGS_INHERITED) ? 'I' : '.');  else    ListFileAttr(hd.FileAttr,hd.HostOS);  mprintf(" %8.8X",hd.FileCRC);  mprintf(" m%d",hd.Method-0x30);  if ((hd.Flags & LHD_WINDOWMASK)<=6*32)    mprintf("%c",((hd.Flags&LHD_WINDOWMASK)>>5)+'a');  else    mprintf(" ");  mprintf(" %d.%d",hd.UnpVer/10,hd.UnpVer%10);  static const char *RarOS[]={    "DOS","OS/2","Win95/NT","Unix","MacOS","BeOS","WinCE","","",""  };  if (Technical)    mprintf("\n%22s %8s %4s",            (hd.HostOS<sizeof(RarOS)/sizeof(RarOS[0]) ? RarOS[hd.HostOS]:""),            (hd.Flags & LHD_SOLID) ? St(MYes):St(MNo),            (hd.Flags & LHD_VERSION) ? St(MYes):St(MNo));}void ListSymLink(Archive &Arc){  if (Arc.NewLhd.HostOS==HOST_UNIX && (Arc.NewLhd.FileAttr & 0xF000)==0xA000)    if ((Arc.NewLhd.Flags & LHD_PASSWORD)==0)    {      char FileName[NM];      int DataSize=Min(Arc.NewLhd.PackSize,sizeof(FileName)-1);      Arc.Read(FileName,DataSize);      FileName[DataSize]=0;      mprintf("\n%22s %s","-->",FileName);    }    else    {      // Link data are encrypted. We would need to ask for password      // and initialize decryption routine to display the link target.      mprintf("\n%22s %s","-->","*<-?->");    }}void ListFileAttr(uint A,int HostOS){  switch(HostOS)  {    case HOST_MSDOS:    case HOST_OS2:    case HOST_WIN32:    case HOST_MACOS:      mprintf(" %c%c%c%c%c%c%c  ",              (A & 0x08) ? 'V' : '.',              (A & 0x10) ? 'D' : '.',              (A & 0x01) ? 'R' : '.',              (A & 0x02) ? 'H' : '.',              (A & 0x04) ? 'S' : '.',              (A & 0x20) ? 'A' : '.',              (A & 0x800) ? 'C' : '.');      break;    case HOST_UNIX:    case HOST_BEOS:      switch (A & 0xF000)      {        case 0x4000:          mprintf("d");          break;        case 0xA000:          mprintf("l");          break;        default:          mprintf("-");          break;      }      mprintf("%c%c%c%c%c%c%c%c%c",              (A & 0x0100) ? 'r' : '-',              (A & 0x0080) ? 'w' : '-',              (A & 0x0040) ? ((A & 0x0800) ? 's':'x'):((A & 0x0800) ? 'S':'-'),              (A & 0x0020) ? 'r' : '-',              (A & 0x0010) ? 'w' : '-',              (A & 0x0008) ? ((A & 0x0400) ? 's':'x'):((A & 0x0400) ? 'S':'-'),              (A & 0x0004) ? 'r' : '-',              (A & 0x0002) ? 'w' : '-',              (A & 0x0001) ? 'x' : '-');      break;  }}#ifndef SFX_MODULEvoid ListOldSubHeader(Archive &Arc){  switch(Arc.SubBlockHead.SubType)  {    case EA_HEAD:      mprintf(St(MListEAHead));      break;    case UO_HEAD:      mprintf(St(MListUOHead),Arc.UOHead.OwnerName,Arc.UOHead.GroupName);      break;    case MAC_HEAD:      mprintf(St(MListMACHead1),Arc.MACHead.fileType>>24,Arc.MACHead.fileType>>16,Arc.MACHead.fileType>>8,Arc.MACHead.fileType);      mprintf(St(MListMACHead2),Arc.MACHead.fileCreator>>24,Arc.MACHead.fileCreator>>16,Arc.MACHead.fileCreator>>8,Arc.MACHead.fileCreator);      break;    case BEEA_HEAD:      mprintf(St(MListBeEAHead));      break;    case NTACL_HEAD:      mprintf(St(MListNTACLHead));      break;    case STREAM_HEAD:      mprintf(St(MListStrmHead),Arc.StreamHead.StreamName);      break;    default:      mprintf(St(MListUnkHead),Arc.SubBlockHead.SubType);      break;  }}#endifvoid ListNewSubHeader(CommandData *Cmd,Archive &Arc,bool Technical){  if (Arc.SubHead.CmpName(SUBHEAD_TYPE_CMT) &&      (Arc.SubHead.Flags & LHD_SPLIT_BEFORE)==0 && !Cmd->DisableComment)  {    Array<byte> CmtData;    int ReadSize=Arc.ReadCommentData(&CmtData,NULL);    if (ReadSize!=0)    {      mprintf(St(MFileComment));      OutComment((char *)&CmtData[0],ReadSize);    }  }  if (Arc.SubHead.CmpName(SUBHEAD_TYPE_STREAM) &&      (Arc.SubHead.Flags & LHD_SPLIT_BEFORE)==0)  {    int DestSize=Arc.SubHead.SubData.Size()/2;    wchar DestNameW[NM];    char DestName[NM];    if (DestSize<sizeof(DestName))    {      RawToWide(&Arc.SubHead.SubData[0],DestNameW,DestSize);      DestNameW[DestSize]=0;      WideToChar(DestNameW,DestName);      mprintf("\n %s",DestName);    }  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本精品一区二区三区| 亚洲在线观看免费视频| 久久精品99久久久| 国产精品午夜春色av| 日韩成人一级片| 欧美mv和日韩mv的网站| 国产亚洲精品bt天堂精选| 亚洲人妖av一区二区| 日本欧美肥老太交大片| 97se亚洲国产综合自在线| 欧美亚洲高清一区| 2020国产精品自拍| 性做久久久久久免费观看欧美| 精品一区在线看| 在线观看视频一区| 国产精品色一区二区三区| 日韩高清国产一区在线| 精品国产91久久久久久久妲己| 国产成人av电影免费在线观看| 国产精品女人毛片| 欧美性猛交xxxxxxxx| 不卡的电视剧免费网站有什么| 国产精品丝袜在线| 色屁屁一区二区| 国产成人免费高清| 欧美日韩性生活| 欧美sm极限捆绑bd| 91麻豆免费视频| 国产精品88888| 国产成人无遮挡在线视频| 欧美一区永久视频免费观看| 一区二区三区加勒比av| 99在线精品视频| 中文字幕在线观看一区二区| 成年人国产精品| 国产精品久久久久国产精品日日| 成人免费视频一区| www国产精品av| 狠狠色丁香婷婷综合| 精品国产免费一区二区三区香蕉| 美女国产一区二区| 久久一日本道色综合| 国产精品18久久久久久vr | 精品粉嫩aⅴ一区二区三区四区| 亚洲精品菠萝久久久久久久| 99视频在线精品| 亚洲美女电影在线| 91一区二区在线观看| 日韩美女久久久| 色综合天天综合狠狠| 久久久五月婷婷| 久久成人18免费观看| 欧美日韩第一区日日骚| 麻豆一区二区三| 国产精品综合二区| 久久综合久久综合亚洲| 蜜臂av日日欢夜夜爽一区| 久久久精品免费网站| 制服.丝袜.亚洲.中文.综合| 一区二区不卡在线播放| 国产丶欧美丶日本不卡视频| 欧美videofree性高清杂交| 亚洲一区二区三区精品在线| 在线看一区二区| 中文字幕中文字幕一区二区| 色噜噜偷拍精品综合在线| 国产精品理伦片| 精品一区二区在线视频| 日韩精品资源二区在线| 麻豆91精品91久久久的内涵| 中文字幕欧美激情一区| 国产成人福利片| 午夜一区二区三区在线观看| 色综合久久综合网| 蜜桃视频免费观看一区| 欧美日本一区二区在线观看| 午夜影院在线观看欧美| 日韩欧美在线123| 亚洲第四色夜色| 国产精品久久久久久久蜜臀| 不卡欧美aaaaa| 久久综合综合久久综合| 精品久久免费看| 成人av电影在线| 久久免费美女视频| 亚洲高清一区二区三区| 欧美一区二区三区系列电影| 日韩精品国产精品| 亚洲欧美aⅴ...| 欧美日韩你懂得| 99精品视频中文字幕| 中文字幕第一区二区| 日韩精品专区在线影院重磅| 国产精品一区二区在线播放| 国产拍欧美日韩视频二区| 91在线国产福利| 日本美女一区二区三区| 亚洲色图都市小说| 51久久夜色精品国产麻豆| 欧美性猛交xxxxxx富婆| 免费黄网站欧美| 五月婷婷激情综合| 日韩一区二区免费在线电影| 91久久精品一区二区二区| 日本aⅴ亚洲精品中文乱码| 日韩亚洲欧美综合| 欧美精品一卡两卡| 国产夫妻精品视频| 国产成人h网站| 日韩成人av影视| 日欧美一区二区| 国产亚洲综合av| 久久久国产一区二区三区四区小说| 91视频精品在这里| av成人老司机| 美女脱光内衣内裤视频久久网站| 午夜激情一区二区三区| 国产精品色一区二区三区| 成人手机电影网| 日本免费新一区视频| 国产精品拍天天在线| 国产欧美日韩三区| 欧美日韩精品一区二区三区蜜桃| 色欧美88888久久久久久影院| 亚洲成人在线网站| 精品国产一区二区三区久久久蜜月 | 日韩欧美一级精品久久| 国产盗摄一区二区三区| 成人av网址在线观看| 日韩电影在线免费| 日日夜夜免费精品| 亚洲精品免费一二三区| 亚洲福利国产精品| 国产精品乱码一区二区三区软件 | 一区二区高清在线| 亚洲资源中文字幕| 国产精品欧美一区二区三区| 国产精品毛片久久久久久| 欧美一区二区三区免费在线看| 欧美人伦禁忌dvd放荡欲情| 91免费观看在线| 蜜臀av性久久久久蜜臀av麻豆| 亚洲一区二区精品视频| 欧美一级片免费看| 日本一区二区免费在线观看视频 | 日本精品免费观看高清观看| 国产精品亚洲成人| 色噜噜狠狠成人中文综合| 国产成人aaa| 色8久久精品久久久久久蜜| 99精品欧美一区二区三区小说| 99久久精品费精品国产一区二区| 国产麻豆成人传媒免费观看| 捆绑变态av一区二区三区| 国产成人小视频| 日韩福利视频导航| 丁香五精品蜜臀久久久久99网站| 国内成人精品2018免费看| 91在线观看高清| 一本色道久久加勒比精品| 91精品国产综合久久久久久久| 欧美午夜精品免费| 精品国产一区二区三区av性色 | 麻豆精品在线看| 日韩高清欧美激情| 不卡视频在线看| 91黄视频在线| 欧美国产禁国产网站cc| 国产精品欧美极品| 精品一区二区三区久久久| 国产一区二区不卡老阿姨| 欧美日韩一区久久| 日韩亚洲欧美中文三级| 91美女在线视频| 欧美亚洲自拍偷拍| 欧美高清视频在线高清观看mv色露露十八 | 中文字幕日本不卡| 欧美日韩国产成人在线91| 国产精品乱码人人做人人爱| 一区二区成人在线| 国产99久久久国产精品| aaa欧美日韩| 日韩女优视频免费观看| 久久天天做天天爱综合色| 日韩影院免费视频| 国产福利一区二区三区在线视频| 91麻豆精品国产91久久久更新时间| 欧美一二三区在线观看| 亚洲综合色网站| 国产精品原创巨作av| 日韩欧美三级在线| 国产精品欧美经典| 国产91清纯白嫩初高中在线观看 | 精品美女在线观看| 国产精品国产自产拍高清av王其| 国产一区二区调教| 欧美午夜在线一二页| 一区二区三区在线免费观看| 成人av在线一区二区三区| 精品国产乱码91久久久久久网站|