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

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

?? avc_misc.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
     * Unix case.     *----------------------------------------------------------------*/    VSIStatBuf  sStatBuf;    char        *pszTmpPath = NULL;    int         nTotalLen, iTmpPtr;    GBool       bValidPath;    /*-----------------------------------------------------------------     * Remap '\\' to '/'     *----------------------------------------------------------------*/    for(pszTmpPath = pszFname; *pszTmpPath != '\0'; pszTmpPath++)    {        if (*pszTmpPath == '\\')            *pszTmpPath = '/';    }    /*-----------------------------------------------------------------     * First check if the filename is OK as is.     *----------------------------------------------------------------*/    if (VSIStat(pszFname, &sStatBuf) == 0)    {        return pszFname;    }    pszTmpPath = CPLStrdup(pszFname);    nTotalLen = strlen(pszTmpPath);    /*-----------------------------------------------------------------     * Try all lower case, check if the filename is OK as that.     *----------------------------------------------------------------*/    for (iTmpPtr=0; iTmpPtr< nTotalLen; iTmpPtr++)    {        if ( pszTmpPath[iTmpPtr] >= 0x41 && pszTmpPath[iTmpPtr] <= 0x5a )            pszTmpPath[iTmpPtr] += 32;    }    if (VSIStat(pszTmpPath, &sStatBuf) == 0)    {        strcpy(pszFname, pszTmpPath);        CPLFree(pszTmpPath);        return pszFname;    }    /*-----------------------------------------------------------------     * Try all upper case, check if the filename is OK as that.     *----------------------------------------------------------------*/    for (iTmpPtr=0; iTmpPtr< nTotalLen; iTmpPtr++)    {        if ( pszTmpPath[iTmpPtr] >= 0x61 && pszTmpPath[iTmpPtr] <= 0x7a )            pszTmpPath[iTmpPtr] -= 32;    }    if (VSIStat(pszTmpPath, &sStatBuf) == 0)    {        strcpy(pszFname, pszTmpPath);        CPLFree(pszTmpPath);        return pszFname;    }    /*-----------------------------------------------------------------     * OK, file either does not exist or has the wrong cases... we'll     * go backwards until we find a portion of the path that is valid.     *----------------------------------------------------------------*/    iTmpPtr = nTotalLen;    bValidPath = FALSE;    while(iTmpPtr > 0 && !bValidPath)    {        /*-------------------------------------------------------------         * Move back to the previous '/' separator         *------------------------------------------------------------*/        pszTmpPath[--iTmpPtr] = '\0';        while( iTmpPtr > 0 && pszTmpPath[iTmpPtr-1] != '/' )        {            pszTmpPath[--iTmpPtr] = '\0';        }        if (iTmpPtr > 0 && VSIStat(pszTmpPath, &sStatBuf) == 0)            bValidPath = TRUE;    }    CPLAssert(iTmpPtr >= 0);    /*-----------------------------------------------------------------     * Assume that CWD is valid... so an empty path is a valid path     *----------------------------------------------------------------*/    if (iTmpPtr == 0)        bValidPath = TRUE;    /*-----------------------------------------------------------------     * OK, now that we have a valid base, reconstruct the whole path     * by scanning all the sub-directories.       * If we get to a point where a path component does not exist then     * we simply return the rest of the path as is.     *----------------------------------------------------------------*/    while(bValidPath && strlen(pszTmpPath) < nTotalLen)    {        char    **papszDir=NULL;        int     iEntry, iLastPartStart;        iLastPartStart = iTmpPtr;        papszDir = CPLReadDir(pszTmpPath);        /*-------------------------------------------------------------         * Add one component to the current path         *------------------------------------------------------------*/        pszTmpPath[iTmpPtr] = pszFname[iTmpPtr];        iTmpPtr++;        for( ; pszFname[iTmpPtr] != '\0' && pszFname[iTmpPtr]!='/'; iTmpPtr++)        {            pszTmpPath[iTmpPtr] = pszFname[iTmpPtr];        }        while(iLastPartStart < iTmpPtr && pszTmpPath[iLastPartStart] == '/')            iLastPartStart++;        /*-------------------------------------------------------------         * And do a case insensitive search in the current dir...         *------------------------------------------------------------*/        for(iEntry=0; papszDir && papszDir[iEntry]; iEntry++)        {            if (EQUAL(pszTmpPath+iLastPartStart, papszDir[iEntry]))            {                /* Fount it! */                strcpy(pszTmpPath+iLastPartStart, papszDir[iEntry]);                break;            }        }        if (iTmpPtr > 0 && VSIStat(pszTmpPath, &sStatBuf) != 0)            bValidPath = FALSE;        CSLDestroy(papszDir);    }    /*-----------------------------------------------------------------     * We reached the last valid path component... just copy the rest     * of the path as is.     *----------------------------------------------------------------*/    if (iTmpPtr < nTotalLen-1)    {        strncpy(pszTmpPath+iTmpPtr, pszFname+iTmpPtr, nTotalLen-iTmpPtr);    }    /*-----------------------------------------------------------------     * Update the source buffer and return.     *----------------------------------------------------------------*/    strcpy(pszFname, pszTmpPath);    CPLFree(pszTmpPath);    return pszFname;#endif}/********************************************************************** *                          AVCPrintRealValue() * * Format a floating point value according to the specified coverage * precision (AVC_SINGLE/DOUBLE_PREC),  and append the formatted value  * to the end of the pszBuf buffer. * * The function returns the number of characters added to the buffer. **********************************************************************/int  AVCPrintRealValue(char *pszBuf, int nPrecision, AVCFileType eType,                        double dValue){    static int numExpDigits=-1;    int        nLen = 0;    /* WIN32 systems' printf for floating point output generates 3     * digits exponents (ex: 1.23E+012), but E00 files must have 2 digits     * exponents (ex: 1.23E+12).     * Run a test (only once per prg execution) to establish the number     * of exponent digits on the current platform.     */    if (numExpDigits == -1)    {        char szBuf[50];        int  i;        sprintf(szBuf, "%10.7E", 123.45);        numExpDigits = 0;        for(i=strlen(szBuf)-1; i>0; i--)        {            if (szBuf[i] == '+' || szBuf[i] == '-')                break;            numExpDigits++;        }    }    /* We will append the value at the end of the current buffer contents.     */    pszBuf = pszBuf+strlen(pszBuf);    if (dValue < 0.0)    {        *pszBuf = '-';        dValue = -1.0*dValue;    }    else        *pszBuf = ' ';    /* Just to make things more complicated, double values are      * output in a different format in attribute tables than in      * the other files!     */    if (nPrecision == AVC_FORMAT_DBF_FLOAT)    {        /* Float stored in DBF table in PC coverages */        sprintf(pszBuf+1, "%9.6E", dValue);        nLen = 13;    }    else if (nPrecision == AVC_DOUBLE_PREC && eType == AVCFileTABLE)    {        sprintf(pszBuf+1, "%20.17E", dValue);        nLen = 24;    }    else if (nPrecision == AVC_DOUBLE_PREC)    {        sprintf(pszBuf+1, "%17.14E", dValue);        nLen = 21;    }    else     {        sprintf(pszBuf+1, "%10.7E", dValue);        nLen = 14;    }    /* Adjust number of exponent digits if necessary     */    if (numExpDigits > 2)    {        int n;        n = strlen(pszBuf);                pszBuf[n - numExpDigits]    = pszBuf[n-2];        pszBuf[n - numExpDigits +1] = pszBuf[n-1];        pszBuf[n - numExpDigits +2] = '\0';    }    /* Just make sure that the actual output length is what we expected.     */    CPLAssert(strlen(pszBuf) == nLen);    return nLen;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu亚洲| 91亚洲精华国产精华精华液| 欧美一区二区三区色| 偷拍自拍另类欧美| 欧美一级高清大全免费观看| 九色综合狠狠综合久久| 国产亚洲欧美一级| aaa亚洲精品一二三区| 一区二区欧美视频| 欧美一级xxx| 国产91在线观看| 尤物视频一区二区| 欧美一区二区大片| 国产成人福利片| 夜夜嗨av一区二区三区四季av| 欧美夫妻性生活| 国产精品一区在线观看你懂的| 1024成人网色www| 91精品国产全国免费观看| 国产激情偷乱视频一区二区三区| 自拍视频在线观看一区二区| 日韩一区二区影院| 不卡视频一二三| 日日夜夜精品视频免费| 欧美激情一区二区三区| 欧美日韩国产一级二级| 国产激情视频一区二区三区欧美 | 国产不卡在线视频| 1区2区3区国产精品| 精品视频一区 二区 三区| 国内精品嫩模私拍在线| 一区二区三区视频在线看| 在线不卡中文字幕| 成人app软件下载大全免费| 污片在线观看一区二区| 国产精品亲子伦对白| 精品视频一区三区九区| 成人美女视频在线观看18| 视频一区二区中文字幕| 中文字幕一区二区三区不卡| 欧美大胆一级视频| 日本国产一区二区| 成人视屏免费看| 精品综合免费视频观看| 亚洲小说欧美激情另类| 国产精品视频线看| 久久综合色8888| 欧美一区三区四区| 在线观看成人小视频| 成人美女视频在线观看| 韩国欧美国产1区| 天天影视色香欲综合网老头| 自拍偷拍亚洲欧美日韩| 国产欧美在线观看一区| 精品美女一区二区| 日韩一区二区三区观看| 欧美精品 日韩| 在线视频一区二区三| 色悠久久久久综合欧美99| 成人av综合在线| 丁香五精品蜜臀久久久久99网站 | 99精品久久久久久| 国产盗摄精品一区二区三区在线| 麻豆精品久久精品色综合| 午夜久久电影网| 亚洲国产一区二区a毛片| 一区二区三区免费| 亚洲欧美激情一区二区| 亚洲色图欧美激情| 亚洲天堂av一区| 亚洲色图一区二区| 亚洲欧美一区二区三区久本道91| 国产精品入口麻豆原神| 国产精品视频九色porn| 国产精品毛片a∨一区二区三区| 国产精品污网站| 中文字幕中文乱码欧美一区二区 | 欧美性一区二区| 欧美日韩一区二区不卡| 欧美日韩大陆在线| 欧美一区日韩一区| 精品国一区二区三区| 久久久综合激的五月天| 欧美国产在线观看| 亚洲视频一区二区在线| 亚洲精品水蜜桃| 天天综合色天天综合色h| 蜜桃传媒麻豆第一区在线观看| 麻豆成人在线观看| 国产麻豆视频精品| 9i看片成人免费高清| 日本高清免费不卡视频| 欧美精品久久久久久久久老牛影院 | 91久久香蕉国产日韩欧美9色| 91国产丝袜在线播放| 欧美猛男超大videosgay| 欧美一区二区女人| 欧美激情资源网| 亚洲美女视频一区| 人人爽香蕉精品| 国产成人亚洲精品狼色在线| 色综合视频在线观看| 在线91免费看| 国产性天天综合网| 一区二区免费在线播放| 蜜臀91精品一区二区三区| 国产成人精品三级麻豆| 欧美视频中文字幕| 精品欧美久久久| 伊人婷婷欧美激情| 美洲天堂一区二卡三卡四卡视频| 国产成人三级在线观看| 欧美视频在线观看一区| 精品国产乱码久久久久久1区2区| 最近中文字幕一区二区三区| 肉色丝袜一区二区| 成人美女在线观看| 日韩欧美中文一区二区| 18欧美乱大交hd1984| 老汉av免费一区二区三区| 色8久久人人97超碰香蕉987| 亚洲精品在线观看网站| 亚洲国产一二三| 成人av动漫在线| 精品处破学生在线二十三| 亚洲综合色噜噜狠狠| 国产精品99久久久久| 欧美电影影音先锋| 亚洲激情成人在线| 国产成人在线免费观看| 日韩午夜三级在线| 亚洲综合区在线| 成人av电影免费观看| 精品va天堂亚洲国产| 婷婷国产v国产偷v亚洲高清| 97se亚洲国产综合在线| 久久精品无码一区二区三区| 三级久久三级久久| 欧美午夜理伦三级在线观看| 国产精品久久久久久久第一福利| 麻豆91在线播放免费| 欧美日韩高清一区二区| 亚洲图片激情小说| 国产91精品免费| 久久久久久久综合日本| 久久精品国产精品青草| 欧美精品久久一区二区三区| 亚洲国产精品一区二区www| 色综合久久天天综合网| 国产精品网曝门| 国精产品一区一区三区mba桃花| 欧美肥胖老妇做爰| 亚洲大型综合色站| 91黄色在线观看| 日韩理论片网站| 色综合久久中文字幕| 亚洲欧美国产高清| 色香蕉成人二区免费| 亚洲另类一区二区| 色综合天天天天做夜夜夜夜做| 日韩一区在线看| 色呦呦国产精品| 亚洲一区二区中文在线| 欧洲精品在线观看| 亚洲国产成人高清精品| 欧美日韩精品福利| 日韩精彩视频在线观看| 制服丝袜亚洲播放| 日本vs亚洲vs韩国一区三区二区| 欧美一区二区三区不卡| 麻豆成人综合网| 国产视频一区二区在线| 粉嫩久久99精品久久久久久夜| 中文字幕的久久| 91视频精品在这里| 一区二区成人在线视频 | 日韩欧美一区电影| 国产一区二区三区四| 国产精品免费看片| 色菇凉天天综合网| 五月天婷婷综合| 精品国产乱码久久久久久1区2区| 国产成人精品一区二| 综合婷婷亚洲小说| 欧美日韩国产影片| 国产在线视频不卡二| 欧美国产日本韩| 91美女片黄在线| 日韩黄色一级片| 久久久三级国产网站| 99久久精品免费精品国产| 性做久久久久久免费观看欧美| 日韩欧美在线影院| 成人国产精品免费网站| 亚洲国产精品一区二区久久恐怖片 | 欧美日韩精品电影| 国产乱一区二区| 一区二区三区蜜桃网| 精品国产电影一区二区| 91视视频在线直接观看在线看网页在线看|