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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? miniunz.c

?? 許多壓縮算法都用到了ZLIP算法
?? C
字號(hào):
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <errno.h>#include <fcntl.h>#ifdef unix# include <unistd.h># include <utime.h>#else# include <direct.h># include <io.h>#endif#include "unzip.h"#define CASESENSITIVITY (0)#define WRITEBUFFERSIZE (8192)#define MAXFILENAME (256)#ifdef WIN32#define USEWIN32IOAPI#include "iowin32.h"#endif/*  mini unzip, demo of unzip package  usage :  Usage : miniunz [-exvlo] file.zip [file_to_extract]  list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT    if it exists*//* change_file_date : change the date/time of a file    filename : the filename of the file where date/time must be modified    dosdate : the new date at the MSDos format (4 bytes)    tmu_date : the SAME new date at the tm_unz format */void change_file_date(filename,dosdate,tmu_date)    const char *filename;    uLong dosdate;    tm_unz tmu_date;{#ifdef WIN32  HANDLE hFile;  FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite;  hFile = CreateFile(filename,GENERIC_READ | GENERIC_WRITE,                      0,NULL,OPEN_EXISTING,0,NULL);  GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite);  DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal);  LocalFileTimeToFileTime(&ftLocal,&ftm);  SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);  CloseHandle(hFile);#else#ifdef unix  struct utimbuf ut;  struct tm newdate;  newdate.tm_sec = tmu_date.tm_sec;  newdate.tm_min=tmu_date.tm_min;  newdate.tm_hour=tmu_date.tm_hour;  newdate.tm_mday=tmu_date.tm_mday;  newdate.tm_mon=tmu_date.tm_mon;  if (tmu_date.tm_year > 1900)      newdate.tm_year=tmu_date.tm_year - 1900;  else      newdate.tm_year=tmu_date.tm_year ;  newdate.tm_isdst=-1;  ut.actime=ut.modtime=mktime(&newdate);  utime(filename,&ut);#endif#endif}/* mymkdir and change_file_date are not 100 % portable   As I don't know well Unix, I wait feedback for the unix portion */int mymkdir(dirname)    const char* dirname;{    int ret=0;#ifdef WIN32    ret = mkdir(dirname);#else#ifdef unix    ret = mkdir (dirname,0775);#endif#endif    return ret;}int makedir (newdir)    char *newdir;{  char *buffer ;  char *p;  int  len = (int)strlen(newdir);  if (len <= 0)    return 0;  buffer = (char*)malloc(len+1);  strcpy(buffer,newdir);  if (buffer[len-1] == '/') {    buffer[len-1] = '\0';  }  if (mymkdir(buffer) == 0)    {      free(buffer);      return 1;    }  p = buffer+1;  while (1)    {      char hold;      while(*p && *p != '\\' && *p != '/')        p++;      hold = *p;      *p = 0;      if ((mymkdir(buffer) == -1) && (errno == ENOENT))        {          printf("couldn't create directory %s\n",buffer);          free(buffer);          return 0;        }      if (hold == 0)        break;      *p++ = hold;    }  free(buffer);  return 1;}void do_banner(){    printf("MiniUnz 1.00, demo of zLib + Unz package written by Gilles Vollant\n");    printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n");}void do_help(){    printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.]\n\n" \           "  -e  Extract without pathname (junk paths)\n" \           "  -x  Extract with pathname\n" \           "  -v  list files\n" \           "  -l  list files\n" \           "  -o  overwrite files without prompting\n" \           "  -p  extract crypted file using password\n\n");}int do_list(uf)    unzFile uf;{    uLong i;    unz_global_info gi;    int err;    err = unzGetGlobalInfo (uf,&gi);    if (err!=UNZ_OK)        printf("error %d with zipfile in unzGetGlobalInfo \n",err);    printf(" Length  Method   Size  Ratio   Date    Time   CRC-32     Name\n");    printf(" ------  ------   ----  -----   ----    ----   ------     ----\n");    for (i=0;i<gi.number_entry;i++)    {        char filename_inzip[256];        unz_file_info file_info;        uLong ratio=0;        const char *string_method;        char charCrypt=' ';        err = unzGetCurrentFileInfo(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);        if (err!=UNZ_OK)        {            printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);            break;        }        if (file_info.uncompressed_size>0)            ratio = (file_info.compressed_size*100)/file_info.uncompressed_size;        /* display a '*' if the file is crypted */        if ((file_info.flag & 1) != 0)            charCrypt='*';        if (file_info.compression_method==0)            string_method="Stored";        else        if (file_info.compression_method==Z_DEFLATED)        {            uInt iLevel=(uInt)((file_info.flag & 0x6)/2);            if (iLevel==0)              string_method="Defl:N";            else if (iLevel==1)              string_method="Defl:X";            else if ((iLevel==2) || (iLevel==3))              string_method="Defl:F"; /* 2:fast , 3 : extra fast*/        }        else            string_method="Unkn. ";        printf("%7lu  %6s%c%7lu %3lu%%  %2.2lu-%2.2lu-%2.2lu  %2.2lu:%2.2lu  %8.8lx   %s\n",                file_info.uncompressed_size,string_method,                charCrypt,                file_info.compressed_size,                ratio,                (uLong)file_info.tmu_date.tm_mon + 1,                (uLong)file_info.tmu_date.tm_mday,                (uLong)file_info.tmu_date.tm_year % 100,                (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min,                (uLong)file_info.crc,filename_inzip);        if ((i+1)<gi.number_entry)        {            err = unzGoToNextFile(uf);            if (err!=UNZ_OK)            {                printf("error %d with zipfile in unzGoToNextFile\n",err);                break;            }        }    }    return 0;}int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)    unzFile uf;    const int* popt_extract_without_path;    int* popt_overwrite;    const char* password;{    char filename_inzip[256];    char* filename_withoutpath;    char* p;    int err=UNZ_OK;    FILE *fout=NULL;    void* buf;    uInt size_buf;    unz_file_info file_info;    uLong ratio=0;    err = unzGetCurrentFileInfo(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);    if (err!=UNZ_OK)    {        printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);        return err;    }    size_buf = WRITEBUFFERSIZE;    buf = (void*)malloc(size_buf);    if (buf==NULL)    {        printf("Error allocating memory\n");        return UNZ_INTERNALERROR;    }    p = filename_withoutpath = filename_inzip;    while ((*p) != '\0')    {        if (((*p)=='/') || ((*p)=='\\'))            filename_withoutpath = p+1;        p++;    }    if ((*filename_withoutpath)=='\0')    {        if ((*popt_extract_without_path)==0)        {            printf("creating directory: %s\n",filename_inzip);            mymkdir(filename_inzip);        }    }    else    {        const char* write_filename;        int skip=0;        if ((*popt_extract_without_path)==0)            write_filename = filename_inzip;        else            write_filename = filename_withoutpath;        err = unzOpenCurrentFilePassword(uf,password);        if (err!=UNZ_OK)        {            printf("error %d with zipfile in unzOpenCurrentFilePassword\n",err);        }        if (((*popt_overwrite)==0) && (err==UNZ_OK))        {            char rep=0;            FILE* ftestexist;            ftestexist = fopen(write_filename,"rb");            if (ftestexist!=NULL)            {                fclose(ftestexist);                do                {                    char answer[128];                    printf("The file %s exist. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);                    scanf("%1s",answer);                    rep = answer[0] ;                    if ((rep>='a') && (rep<='z'))                        rep -= 0x20;                }                while ((rep!='Y') && (rep!='N') && (rep!='A'));            }            if (rep == 'N')                skip = 1;            if (rep == 'A')                *popt_overwrite=1;        }        if ((skip==0) && (err==UNZ_OK))        {            fout=fopen(write_filename,"wb");            /* some zipfile don't contain directory alone before file */            if ((fout==NULL) && ((*popt_extract_without_path)==0) &&                                (filename_withoutpath!=(char*)filename_inzip))            {                char c=*(filename_withoutpath-1);                *(filename_withoutpath-1)='\0';                makedir(write_filename);                *(filename_withoutpath-1)=c;                fout=fopen(write_filename,"wb");            }            if (fout==NULL)            {                printf("error opening %s\n",write_filename);            }        }        if (fout!=NULL)        {            printf(" extracting: %s\n",write_filename);            do            {                err = unzReadCurrentFile(uf,buf,size_buf);                if (err<0)                {                    printf("error %d with zipfile in unzReadCurrentFile\n",err);                    break;                }                if (err>0)                    if (fwrite(buf,err,1,fout)!=1)                    {                        printf("error in writing extracted file\n");                        err=UNZ_ERRNO;                        break;                    }            }            while (err>0);            if (fout)                    fclose(fout);            if (err==0)                change_file_date(write_filename,file_info.dosDate,                                 file_info.tmu_date);        }        if (err==UNZ_OK)        {            err = unzCloseCurrentFile (uf);            if (err!=UNZ_OK)            {                printf("error %d with zipfile in unzCloseCurrentFile\n",err);            }        }        else            unzCloseCurrentFile(uf); /* don't lose the error */    }    free(buf);    return err;}int do_extract(uf,opt_extract_without_path,opt_overwrite,password)    unzFile uf;    int opt_extract_without_path;    int opt_overwrite;    const char* password;{    uLong i;    unz_global_info gi;    int err;    FILE* fout=NULL;    err = unzGetGlobalInfo (uf,&gi);    if (err!=UNZ_OK)        printf("error %d with zipfile in unzGetGlobalInfo \n",err);    for (i=0;i<gi.number_entry;i++)    {        if (do_extract_currentfile(uf,&opt_extract_without_path,                                      &opt_overwrite,                                      password) != UNZ_OK)            break;        if ((i+1)<gi.number_entry)        {            err = unzGoToNextFile(uf);            if (err!=UNZ_OK)            {                printf("error %d with zipfile in unzGoToNextFile\n",err);                break;            }        }    }    return 0;}int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite,password)    unzFile uf;    const char* filename;    int opt_extract_without_path;    int opt_overwrite;    const char* password;{    int err = UNZ_OK;    if (unzLocateFile(uf,filename,CASESENSITIVITY)!=UNZ_OK)    {        printf("file %s not found in the zipfile\n",filename);        return 2;    }    if (do_extract_currentfile(uf,&opt_extract_without_path,                                      &opt_overwrite,                                      password) == UNZ_OK)        return 0;    else        return 1;}int main(argc,argv)    int argc;    char *argv[];{    const char *zipfilename=NULL;    const char *filename_to_extract=NULL;    const char *password=NULL;    char filename_try[MAXFILENAME+16] = "";    int i;    int opt_do_list=0;    int opt_do_extract=1;    int opt_do_extract_withoutpath=0;    int opt_overwrite=0;    unzFile uf=NULL;    do_banner();    if (argc==1)    {        do_help();        return 0;    }    else    {        for (i=1;i<argc;i++)        {            if ((*argv[i])=='-')            {                const char *p=argv[i]+1;                while ((*p)!='\0')                {                    char c=*(p++);;                    if ((c=='l') || (c=='L'))                        opt_do_list = 1;                    if ((c=='v') || (c=='V'))                        opt_do_list = 1;                    if ((c=='x') || (c=='X'))                        opt_do_extract = 1;                    if ((c=='e') || (c=='E'))                        opt_do_extract = opt_do_extract_withoutpath = 1;                    if ((c=='o') || (c=='O'))                        opt_overwrite=1;                    if (((c=='p') || (c=='P')) && (i+1<argc))                    {                        password=argv[i+1];                        i++;                    }                }            }            else            {                if (zipfilename == NULL)                    zipfilename = argv[i];                else if (filename_to_extract==NULL)                        filename_to_extract = argv[i] ;            }        }    }    if (zipfilename!=NULL)    {#        ifdef USEWIN32IOAPI        zlib_filefunc_def ffunc;#        endif        strncpy(filename_try, zipfilename,MAXFILENAME-1);        /* strncpy doesnt append the trailing NULL, of the string is too long. */        filename_try[ MAXFILENAME ] = '\0';#        ifdef USEWIN32IOAPI        fill_win32_filefunc(&ffunc);        uf = unzOpen2(zipfilename,&ffunc);#        else        uf = unzOpen(zipfilename);#        endif        if (uf==NULL)        {            strcat(filename_try,".zip");#            ifdef USEWIN32IOAPI            uf = unzOpen2(filename_try,&ffunc);#            else            uf = unzOpen(filename_try);#            endif        }    }    if (uf==NULL)    {        printf("Cannot open %s or %s.zip\n",zipfilename,zipfilename);        return 1;    }    printf("%s opened\n",filename_try);    if (opt_do_list==1)        return do_list(uf);    else if (opt_do_extract==1)    {        if (filename_to_extract == NULL)            return do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,password);        else            return do_extract_onefile(uf,filename_to_extract,                                      opt_do_extract_withoutpath,opt_overwrite,password);    }    unzCloseCurrentFile(uf);    return 0;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线不卡| 韩国一区二区视频| 亚洲欧美一区二区三区极速播放| 国产亚洲一本大道中文在线| 精品少妇一区二区三区 | 久久综合色之久久综合| 日韩一卡二卡三卡四卡| 91麻豆精品国产自产在线观看一区| 欧美午夜电影一区| 欧美日韩视频一区二区| 91精品在线观看入口| 制服丝袜亚洲播放| 日韩欧美123| 久久看人人爽人人| 国产精品久线观看视频| 亚洲欧美偷拍卡通变态| 一区二区三区免费网站| 亚洲成人av在线电影| 亚洲大片一区二区三区| 日韩精品成人一区二区三区| 蜜桃精品视频在线观看| 国产乱码一区二区三区| 成人免费看黄yyy456| gogogo免费视频观看亚洲一| 一本一道波多野结衣一区二区| 日本道精品一区二区三区| 欧美日韩亚洲不卡| 精品免费视频.| 中文字幕二三区不卡| 亚洲美女区一区| 天天综合色天天| 久久成人免费网站| 成人免费av资源| 欧美午夜电影一区| 精品国产乱码久久| 日韩美女精品在线| 日韩中文字幕区一区有砖一区| 国产一区在线精品| 91免费视频观看| 欧美一区二区三区免费视频| 国产午夜精品一区二区三区四区| 中文字幕一区二区三区在线不卡 | 国产精品视频观看| 亚洲自拍偷拍图区| 久88久久88久久久| 91日韩在线专区| 这里只有精品免费| 亚洲国产精品精华液2区45| 亚洲另类色综合网站| 久久精品噜噜噜成人88aⅴ| 精品国产91乱码一区二区三区 | 欧美一级片免费看| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲欧洲精品一区二区精品久久久| 亚洲午夜激情av| 国产精品一区免费视频| 精品污污网站免费看| 久久久777精品电影网影网| 亚洲午夜日本在线观看| 国产一区二区导航在线播放| 欧美性大战久久久久久久蜜臀| 久久久亚洲综合| 日韩成人精品视频| 99精品视频在线免费观看| 日韩欧美国产精品一区| 亚洲一区二区偷拍精品| 国产91在线观看| 日韩一级黄色片| 一区二区三区91| av一区二区三区黑人| 日韩久久久精品| 亚洲成人你懂的| 99久久婷婷国产| wwwwxxxxx欧美| 日本欧美在线看| 欧美中文字幕一二三区视频| 欧美国产日韩在线观看| 老司机午夜精品99久久| 欧美日韩激情在线| 亚洲精品你懂的| 成人福利视频在线看| 久久九九久久九九| 久久激情五月激情| 在线成人高清不卡| 亚洲一区二区三区四区五区中文| 成人动漫一区二区在线| 26uuu欧美日本| 久久精品99久久久| 日韩一区二区三区电影 | 国产成人免费视频精品含羞草妖精| 欧美日韩国产高清一区二区三区| 日韩理论片一区二区| 国产91丝袜在线18| 久久精品夜夜夜夜久久| 久久国产精品第一页| 欧美一级在线免费| 蜜臀a∨国产成人精品| 欧美日韩一区二区三区四区五区| 亚洲黄色小视频| 97久久超碰国产精品电影| 国产午夜久久久久| 国产精品一区二区男女羞羞无遮挡| 日韩免费在线观看| 日韩不卡一区二区| 欧美一个色资源| 六月婷婷色综合| 精品美女一区二区| 韩国午夜理伦三级不卡影院| 欧美精品一区二区三区久久久| 久久国产福利国产秒拍| 337p日本欧洲亚洲大胆精品| 国产一区美女在线| 久久久高清一区二区三区| 国产精品一色哟哟哟| 国产日产欧美精品一区二区三区| 国产成a人亚洲精品| 国产精品高清亚洲| 91久久精品一区二区二区| 亚洲综合在线视频| 欧美美女网站色| 九九国产精品视频| 欧美激情一区二区三区蜜桃视频| 成人一道本在线| 一级精品视频在线观看宜春院| 欧美色老头old∨ideo| 日韩精品一级二级| 精品国产三级a在线观看| 国产精品一区专区| 一区二区在线观看不卡| 欧美精品18+| 国模大尺度一区二区三区| 国产日产亚洲精品系列| 色婷婷久久久综合中文字幕| 午夜视频在线观看一区二区 | 亚洲激情男女视频| 欧美日韩三级一区二区| 韩国女主播一区二区三区| 中文在线一区二区| 欧美色精品在线视频| 国产在线播精品第三| 亚洲视频在线一区| 欧美一级国产精品| 成人毛片视频在线观看| 亚洲电影你懂得| 2022国产精品视频| 日本乱人伦一区| 美国十次综合导航| 亚洲天堂av一区| 日韩精品中文字幕一区| 成人a免费在线看| 日韩中文字幕av电影| 中文字幕第一区综合| 欧美日韩一区三区四区| 国产v日产∨综合v精品视频| 亚洲一级二级在线| 国产色一区二区| 欧美丝袜自拍制服另类| 国产精品99久久久久久宅男| 亚洲一区二区三区四区在线| 久久久精品tv| 欧美日韩国产精品自在自线| 成人av午夜电影| 免费在线观看不卡| 伊人夜夜躁av伊人久久| 久久精品一区蜜桃臀影院| 欧美日韩精品一区二区天天拍小说| 国产精品18久久久久久久网站| 亚洲一二三区在线观看| 国产日韩欧美不卡| 日韩一卡二卡三卡国产欧美| 日本二三区不卡| 不卡的av电影在线观看| 蜜臀av一级做a爰片久久| 伊人色综合久久天天| 国产视频一区不卡| 欧美一二三四在线| 欧美三级午夜理伦三级中视频| 99久久婷婷国产精品综合| 国产精品一线二线三线| 美女国产一区二区三区| 亚洲国产精品久久久久婷婷884| 国产精品高清亚洲| 久久精品视频免费| 欧美电影免费观看高清完整版在线观看 | 精品视频在线视频| 99视频国产精品| 国产成人av电影在线| 乱一区二区av| 日韩精品乱码av一区二区| 亚洲一区在线视频观看| 亚洲视频在线一区观看| 国产精品伦理一区二区| 国产日韩在线不卡| 亚洲精品一区二区三区福利| 日韩一级片网址| 日韩视频中午一区| 日韩丝袜情趣美女图片| 欧美一区二区高清| 欧美一区二区三区视频在线| 制服丝袜亚洲精品中文字幕|