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

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

?? splitpat.c

?? C標準庫源代碼,能提高對C的理解,不錯的哦
?? C
字號:
/***
*splitpath.c - break down path name into components
*
*       Copyright (c) 1987-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
*       To provide support for accessing the individual components of an
*       arbitrary path name
*
*******************************************************************************/


#include <cruntime.h>
#include <stdlib.h>
#include <string.h>
#ifdef _MBCS
#include <mbstring.h>
#include <mbctype.h>
#include <mbdata.h>
#endif  /* _MBCS */
#include <tchar.h>

/***
*_splitpath() - split a path name into its individual components
*
*Purpose:
*       to split a path name into its individual components
*
*Entry:
*       path  - pointer to path name to be parsed
*       drive - pointer to buffer for drive component, if any
*       dir   - pointer to buffer for subdirectory component, if any
*       fname - pointer to buffer for file base name component, if any
*       ext   - pointer to buffer for file name extension component, if any
*
*Exit:
*       drive - pointer to drive string.  Includes ':' if a drive was given.
*       dir   - pointer to subdirectory string.  Includes leading and trailing
*           '/' or '\', if any.
*       fname - pointer to file base name
*       ext   - pointer to file extension, if any.  Includes leading '.'.
*
*Exceptions:
*
*******************************************************************************/

void __cdecl _tsplitpath (
        register const _TSCHAR *path,
        _TSCHAR *drive,
        _TSCHAR *dir,
        _TSCHAR *fname,
        _TSCHAR *ext
        )
{
        register _TSCHAR *p;
        _TSCHAR *last_slash = NULL, *dot = NULL;
        unsigned len;

        /* we assume that the path argument has the following form, where any
         * or all of the components may be missing.
         *
         *  <drive><dir><fname><ext>
         *
         * and each of the components has the following expected form(s)
         *
         *  drive:
         *  0 to _MAX_DRIVE-1 characters, the last of which, if any, is a
         *  ':'
         *  dir:
         *  0 to _MAX_DIR-1 characters in the form of an absolute path
         *  (leading '/' or '\') or relative path, the last of which, if
         *  any, must be a '/' or '\'.  E.g -
         *  absolute path:
         *      \top\next\last\     ; or
         *      /top/next/last/
         *  relative path:
         *      top\next\last\  ; or
         *      top/next/last/
         *  Mixed use of '/' and '\' within a path is also tolerated
         *  fname:
         *  0 to _MAX_FNAME-1 characters not including the '.' character
         *  ext:
         *  0 to _MAX_EXT-1 characters where, if any, the first must be a
         *  '.'
         *
         */

        /* extract drive letter and :, if any */

        if ((_tcslen(path) >= (_MAX_DRIVE - 2)) && (*(path + _MAX_DRIVE - 2) == _T(':'))) {
            if (drive) {
                _tcsncpy(drive, path, _MAX_DRIVE - 1);
                *(drive + _MAX_DRIVE-1) = _T('\0');
            }
            path += _MAX_DRIVE - 1;
        }
        else if (drive) {
            *drive = _T('\0');
        }

        /* extract path string, if any.  Path now points to the first character
         * of the path, if any, or the filename or extension, if no path was
         * specified.  Scan ahead for the last occurence, if any, of a '/' or
         * '\' path separator character.  If none is found, there is no path.
         * We will also note the last '.' character found, if any, to aid in
         * handling the extension.
         */

        for (last_slash = NULL, p = (_TSCHAR *)path; *p; p++) {
#ifdef _MBCS
            if (_ISLEADBYTE (*p))
                p++;
            else {
#endif  /* _MBCS */
            if (*p == _T('/') || *p == _T('\\'))
                /* point to one beyond for later copy */
                last_slash = p + 1;
            else if (*p == _T('.'))
                dot = p;
#ifdef _MBCS
            }
#endif  /* _MBCS */
        }

        if (last_slash) {

            /* found a path - copy up through last_slash or max. characters
             * allowed, whichever is smaller
             */

            if (dir) {
                len = __min(((char *)last_slash - (char *)path) / sizeof(_TSCHAR),
                    (_MAX_DIR - 1));
                _tcsncpy(dir, path, len);
                *(dir + len) = _T('\0');
            }
            path = last_slash;
        }
        else if (dir) {

            /* no path found */

            *dir = _T('\0');
        }

        /* extract file name and extension, if any.  Path now points to the
         * first character of the file name, if any, or the extension if no
         * file name was given.  Dot points to the '.' beginning the extension,
         * if any.
         */

        if (dot && (dot >= path)) {
            /* found the marker for an extension - copy the file name up to
             * the '.'.
             */
            if (fname) {
                len = __min(((char *)dot - (char *)path) / sizeof(_TSCHAR),
                    (_MAX_FNAME - 1));
                _tcsncpy(fname, path, len);
                *(fname + len) = _T('\0');
            }
            /* now we can get the extension - remember that p still points
             * to the terminating nul character of path.
             */
            if (ext) {
                len = __min(((char *)p - (char *)dot) / sizeof(_TSCHAR),
                    (_MAX_EXT - 1));
                _tcsncpy(ext, dot, len);
                *(ext + len) = _T('\0');
            }
        }
        else {
            /* found no extension, give empty extension and copy rest of
             * string into fname.
             */
            if (fname) {
                len = __min(((char *)p - (char *)path) / sizeof(_TSCHAR),
                    (_MAX_FNAME - 1));
                _tcsncpy(fname, path, len);
                *(fname + len) = _T('\0');
            }
            if (ext) {
                *ext = _T('\0');
            }
        }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区黄| 成人欧美一区二区三区视频网页| 精品va天堂亚洲国产| 自拍偷在线精品自拍偷无码专区| 日韩av二区在线播放| 99久久精品免费看国产免费软件| 日韩欧美一二三四区| 一区二区三区毛片| 99视频一区二区| 国产亚洲欧洲一区高清在线观看| 午夜电影一区二区三区| av亚洲精华国产精华精| 国产午夜亚洲精品理论片色戒 | 欧美三级一区二区| 中文字幕av一区二区三区| 青椒成人免费视频| 欧美日韩三级视频| 一区二区日韩电影| 97久久精品人人爽人人爽蜜臀| 久久精品欧美日韩精品| 久久精品噜噜噜成人av农村| 欧美日韩一级片在线观看| 亚洲色图清纯唯美| 色视频欧美一区二区三区| 中文字幕一区二区三区视频| 国产伦精品一区二区三区在线观看| 欧美一区二区视频在线观看2022| 亚洲一区免费视频| 欧美日韩国产一级| 五月婷婷色综合| 欧美日韩国产一二三| 日韩国产高清在线| 日韩一区二区电影在线| 久久电影国产免费久久电影| 日韩久久免费av| 国产一区二区三区日韩| 久久久综合视频| 成人精品视频一区二区三区| 国产精品久久久一本精品| 97精品视频在线观看自产线路二| 亚洲欧美日韩在线| 欧美日韩国产小视频在线观看| 亚洲一卡二卡三卡四卡| 欧美一区日本一区韩国一区| 蜜臀久久99精品久久久久久9| 精品国产乱码久久久久久闺蜜| 国内精品伊人久久久久av一坑| 精品日韩一区二区三区免费视频| 国产一区二区三区久久悠悠色av| 国产精品久久久久影视| 91麻豆福利精品推荐| 亚洲成人福利片| 精品国产乱码久久久久久闺蜜 | 麻豆精品久久精品色综合| 欧美成人a∨高清免费观看| 国产高清在线精品| 亚洲欧美偷拍卡通变态| 欧美喷水一区二区| 国产乱人伦偷精品视频免下载| 国产精品视频麻豆| 欧美日韩国产精选| 国产激情视频一区二区三区欧美 | 91在线视频播放地址| 一区二区激情视频| 日韩欧美成人一区| av电影在线观看完整版一区二区| 亚洲一区二区三区激情| 久久网站热最新地址| 在线一区二区三区四区五区| 蜜桃传媒麻豆第一区在线观看| 国产午夜一区二区三区| 欧美日韩亚洲综合一区二区三区| 国产揄拍国内精品对白| 亚洲二区视频在线| 国产精品免费免费| 日韩免费成人网| 欧美主播一区二区三区美女| 久久精品国产亚洲高清剧情介绍 | 91国偷自产一区二区三区成为亚洲经典 | 精品欧美黑人一区二区三区| 99综合影院在线| 久久精品国产99| 亚洲国产一区二区在线播放| 国产精品美女视频| 久久亚洲精华国产精华液 | 亚洲国产成人va在线观看天堂| 精品少妇一区二区三区在线播放 | 欧美绝品在线观看成人午夜影视| 国产成人综合视频| 麻豆精品一区二区av白丝在线| 亚洲最大成人网4388xx| 国产亚洲欧美一区在线观看| 日韩午夜精品视频| 欧美麻豆精品久久久久久| 色综合av在线| 成人激情小说乱人伦| 激情国产一区二区 | 亚洲成人综合在线| 亚洲欧美视频在线观看视频| 国产欧美精品一区二区三区四区| 精品免费99久久| 欧美伦理电影网| 欧美三级中文字幕| 欧洲精品视频在线观看| 91网址在线看| 色综合天天综合网国产成人综合天| 国产精品综合二区| 国产成人免费视频| 国v精品久久久网| 国产精选一区二区三区| 国产乱码一区二区三区| 国产激情一区二区三区| 国产福利一区二区三区视频| 国产一区二区伦理片| 国产一区二区三区四区五区美女 | 日韩中文字幕91| 蜜臀av性久久久久蜜臀aⅴ| 琪琪久久久久日韩精品| 精品一区二区三区欧美| 国产在线一区观看| 国产精品一区二区三区99| 国产高清在线观看免费不卡| 国内久久婷婷综合| 成人性色生活片| 97aⅴ精品视频一二三区| 一本久道久久综合中文字幕| 色94色欧美sute亚洲线路二 | 午夜精品免费在线| 免费久久99精品国产| 韩国精品一区二区| 色乱码一区二区三区88 | 成人爽a毛片一区二区免费| 成人性生交大片| 在线免费av一区| 欧美一区二区久久久| 久久久亚洲午夜电影| 国产精品白丝在线| 午夜精品久久久久久| 国产中文字幕精品| 一本一道综合狠狠老| 欧美日韩高清在线| 2023国产精品| 综合在线观看色| 五月天欧美精品| 国产成人在线视频网站| 色婷婷综合久久久中文一区二区| 欧美伊人久久大香线蕉综合69| 欧美一区二区播放| 国产精品免费视频一区| 日韩成人伦理电影在线观看| 国产精品中文有码| 欧美四级电影网| 国产亚洲视频系列| 日韩精品电影一区亚洲| 不卡的av中国片| 日韩午夜激情视频| 亚洲狼人国产精品| 国产精品亚洲一区二区三区在线| 在线观看亚洲成人| 欧美激情资源网| 麻豆免费精品视频| 欧美亚洲一区三区| 中文字幕乱码亚洲精品一区| 天堂一区二区在线| 91在线视频播放地址| 国产亚洲婷婷免费| 男女视频一区二区| 日本福利一区二区| 国产女同互慰高潮91漫画| 免费精品99久久国产综合精品| 99国产欧美另类久久久精品 | 亚洲另类在线制服丝袜| 国产激情一区二区三区四区| 欧美精品久久一区| 亚洲国产日韩a在线播放性色| 成人av网站免费| 国产日韩三级在线| 国内外成人在线| 欧美va日韩va| 美女网站一区二区| 欧美一区二区三区性视频| 一区二区三区蜜桃网| 色综合中文字幕国产| 国产亚洲一区二区三区四区| 青青青爽久久午夜综合久久午夜| 在线精品亚洲一区二区不卡| 亚洲欧美另类图片小说| 成人精品电影在线观看| 国产拍欧美日韩视频二区| 国产一区二区三区高清播放| 精品国产91洋老外米糕| 捆绑调教一区二区三区| 日韩一本二本av| 蜜桃视频免费观看一区| 日韩一级成人av| 狠狠色狠狠色综合系列| 精品福利一二区| 国产成人综合在线| 中文字幕亚洲综合久久菠萝蜜| 91视频www|