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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? list.cpp

?? Rar 的控制臺解壓程序
?? CPP
字號:
#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();          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,ToPercent(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,ToPercent(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%%",ToPercent(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)  {    char FileName[NM];    int DataSize=Min(Arc.NewLhd.PackSize,sizeof(FileName)-1);    Arc.Read(FileName,DataSize);    FileName[DataSize]=0;    mprintf("\n%22s %s","-->",FileName);  }}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 (Technical && 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);    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产日韩91久久久久久| 色美美综合视频| 日本乱人伦aⅴ精品| 日韩欧美国产高清| 亚洲精品国产无天堂网2021| 国产一区二区三区四区五区美女| 91福利区一区二区三区| 国产三级精品三级| 美国欧美日韩国产在线播放| 在线观看三级视频欧美| 欧美韩日一区二区三区| 久久69国产一区二区蜜臀| 欧美视频一二三区| 亚洲日本一区二区三区| 国产成人日日夜夜| 2020国产精品久久精品美国| 日韩精品电影在线| 欧美亚洲国产怡红院影院| 国产精品色眯眯| 国产一区二区在线视频| 日韩欧美国产精品一区| 日本午夜一本久久久综合| 欧美午夜精品一区二区三区| 中文字幕佐山爱一区二区免费| 国产成人午夜精品影院观看视频| 精品国产凹凸成av人导航| 日韩激情中文字幕| 欧美日韩久久一区| 亚洲综合丝袜美腿| 91久久精品一区二区二区| 亚洲精品视频在线观看免费| aaa亚洲精品一二三区| 国产色91在线| 成人一级视频在线观看| 中文字幕欧美日本乱码一线二线| 国产激情精品久久久第一区二区| 精品久久国产97色综合| 精品在线一区二区三区| 精品毛片乱码1区2区3区| 乱中年女人伦av一区二区| 欧美一区中文字幕| 青青草一区二区三区| 欧美一区二区三区免费在线看| 日韩激情视频在线观看| 欧美福利视频一区| 免费久久99精品国产| 日韩欧美不卡一区| 国产专区综合网| 337p日本欧洲亚洲大胆精品 | 欧美精品一区二区高清在线观看| 日韩av电影天堂| 日韩欧美一区电影| 精品一区二区三区视频| 国产亚洲婷婷免费| 成人午夜在线视频| 日韩毛片精品高清免费| 91黄色在线观看| 亚洲成人av电影| 欧美成人猛片aaaaaaa| 免费人成在线不卡| 国产欧美精品在线观看| eeuss影院一区二区三区 | 亚洲国产岛国毛片在线| www.日本不卡| 一区二区三区精密机械公司| 欧美日韩在线亚洲一区蜜芽| 日韩精品电影在线| 久久久亚洲国产美女国产盗摄| 粉嫩蜜臀av国产精品网站| 亚洲欧美日韩国产另类专区| 欧美日韩免费不卡视频一区二区三区| 日本不卡1234视频| 久久久国产精华| 91在线高清观看| 日韩主播视频在线| 久久精品人人爽人人爽| 在线视频中文字幕一区二区| 蜜桃久久久久久久| 国产精品视频九色porn| 欧美日韩在线精品一区二区三区激情 | 日韩欧美中文一区| 国产成人精品免费视频网站| 一区二区激情小说| 精品日韩在线观看| 99re这里只有精品6| 偷拍日韩校园综合在线| 久久久久国产精品人| 91精品91久久久中77777| 91美女在线观看| 日韩精品亚洲专区| 国产精品三级久久久久三级| 欧美精品电影在线播放| 国产精品原创巨作av| 悠悠色在线精品| 26uuuu精品一区二区| 91黄色免费观看| 韩国欧美国产1区| 一区二区三区久久| 日韩网站在线看片你懂的| 91丨九色丨黑人外教| 看国产成人h片视频| 日韩美女精品在线| 久久久久久久综合日本| 欧美三级欧美一级| 粉嫩高潮美女一区二区三区| 日本三级亚洲精品| 亚洲色图19p| 欧美v日韩v国产v| 在线观看视频一区二区欧美日韩| 国产乱对白刺激视频不卡| 亚洲高清免费视频| 中国色在线观看另类| 91精品国产91热久久久做人人| 色哟哟欧美精品| 国产精品91一区二区| 视频一区中文字幕国产| 亚洲色图欧洲色图| 久久久不卡网国产精品一区| 欧美日韩精品欧美日韩精品| 91在线看国产| 国产成a人亚洲精| 男男gaygay亚洲| 午夜精品在线看| 亚洲精品国产成人久久av盗摄| 亚洲国产精品国自产拍av| 日韩欧美aaaaaa| 制服视频三区第一页精品| 91国内精品野花午夜精品| 国产成人av在线影院| 国产一区二区三区在线看麻豆| 日韩和欧美的一区| 亚洲国产日韩精品| 亚洲女与黑人做爰| 中文字幕中文字幕中文字幕亚洲无线| www国产精品av| 日韩美女天天操| 欧美一区二区在线播放| 欧美午夜片在线看| 欧美三级中文字幕| 欧美手机在线视频| 欧美这里有精品| 一本色道亚洲精品aⅴ| 99久久综合99久久综合网站| 成人午夜视频福利| 国产成人一区在线| 成人一级片在线观看| 成人禁用看黄a在线| 国产91精品免费| 成人黄色a**站在线观看| 岛国精品一区二区| 丁香激情综合国产| eeuss国产一区二区三区| 成人午夜激情影院| 从欧美一区二区三区| 国产成人精品www牛牛影视| 国产精品自拍毛片| 成人免费视频一区| 99久久久精品| 91美女视频网站| 欧美丝袜自拍制服另类| 在线不卡a资源高清| 91精品在线一区二区| 欧美一区二区三区思思人| 日韩欧美一区二区免费| 精品国产伦一区二区三区观看方式 | 日韩一级黄色大片| 3d动漫精品啪啪1区2区免费| 日韩一级片网址| 精品久久久三级丝袜| 久久久久88色偷偷免费| 国产欧美日韩卡一| ...av二区三区久久精品| 亚洲免费观看视频| 五月天视频一区| 青青草国产精品亚洲专区无| 国产又黄又大久久| 不卡视频在线看| 色婷婷综合中文久久一本| 欧美日韩综合不卡| 日韩欧美中文字幕制服| 国产人久久人人人人爽| 国产精品久久久久永久免费观看 | 日韩欧美国产电影| 国产欧美一区二区精品性色超碰 | 亚洲乱码中文字幕综合| 亚洲国产wwwccc36天堂| 美日韩黄色大片| 国产精品1024| 91小视频在线免费看| 精品视频在线视频| 欧美α欧美αv大片| 国产精品丝袜黑色高跟| 亚洲国产成人高清精品| 精品一二三四区| 99久久精品国产网站| 8v天堂国产在线一区二区| 久久九九全国免费| 亚洲一区在线观看视频| 精品一区二区三区蜜桃| 99精品国产视频|