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

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

?? w_str.c

?? C標(biāo)準(zhǔn)庫(kù)源代碼,能提高對(duì)C的理解,不錯(cuò)的哦
?? C
字號(hào):
/***
*w_str.c - W version of GetStringType.
*
*       Copyright (c) 1993-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
*       Use either GetStringTypeA or GetStringTypeW depending on which is
*       unstubbed.
*
*******************************************************************************/

#include <cruntime.h>
#include <internal.h>
#include <stdlib.h>
#include <setlocal.h>
#include <locale.h>
#include <awint.h>
#include <dbgint.h>

#define USE_W   1
#define USE_A   2

/***
*int __cdecl __crtGetStringTypeW - Get type information about a wide string.
*
*Purpose:
*       Internal support function. Assumes info in wide string format. Tries
*       to use NLS API call GetStringTypeW if available and uses GetStringTypeA
*       if it must. If neither are available it fails and returns FALSE.
*
*Entry:
*       DWORD    dwInfoType  - see NT\Chicago docs
*       LPCWSTR  lpSrcStr    - wide string for which character types are
*                              requested
*       int      cchSrc      - wide char (word) count of lpSrcStr (including
*                              NULL if any)
*       LPWORD   lpCharType  - array to receive character type information
*                              (must be same size as lpSrcStr)
*       int      code_page   - for MB/WC conversion. If 0, use __lc_codepage
*       int      lcid        - for A call, specify LCID, If 0, use
*                              __lc_handle[LC_CTYPE].
*
*Exit:
*       Success: TRUE
*       Failure: FALSE
*
*Exceptions:
*
*******************************************************************************/

BOOL __cdecl __crtGetStringTypeW(
        DWORD    dwInfoType,
        LPCWSTR  lpSrcStr,
        int      cchSrc,
        LPWORD   lpCharType,
        int      code_page,
        int      lcid
        )
{
        static int f_use = 0;

        /*
         * Look for unstubbed 'preferred' flavor. Otherwise use available flavor.
         * Must actually call the function to ensure it's not a stub.
         */

        if (0 == f_use)
        {
            unsigned short dummy;

            if (0 != GetStringTypeW(CT_CTYPE1, L"\0", 1, &dummy))
                f_use = USE_W;

            else if (0 != GetStringTypeA(0, CT_CTYPE1, "\0", 1, &dummy))
                f_use = USE_A;

            else
                return FALSE;
        }

        /* Use "W" version */

        if (USE_W == f_use)
        {
            return GetStringTypeW(dwInfoType, lpSrcStr, cchSrc, lpCharType);
        }

        /* Use "A" version */

        if (USE_A == f_use)
        {
            int buff_size;
            BOOL retbool;
            unsigned char *buffer;
            WORD * pwCharInfo;

            /*
             * Convert string and return the requested information. Note that
             * we are converting to a multibyte string so there is not a
             * one-to-one correspondence between number of wide chars in the
             * input string and the number of *bytes* in the buffer. However,
             * there had *better be* a one-to-one correspondence between the
             * number of wide characters and the number of WORDs in the
             * return buffer.
             */

            /*
             * Use __lc_codepage for conversion if code_page not specified
             */

            if (0 == code_page)
                code_page = __lc_codepage;

            /* find out how big a buffer we need */
            if ( 0 == (buff_size = WideCharToMultiByte( code_page,
                                                        WC_COMPOSITECHECK |
                                                            WC_SEPCHARS,
                                                        lpSrcStr,
                                                        cchSrc,
                                                        NULL,
                                                        0,
                                                        NULL,
                                                        NULL )) )
                return FALSE;

            /* allocate enough space for chars */
            __try {
                buffer = (unsigned char *)_alloca( sizeof(char) * buff_size );
                (void)memset( buffer, 0, sizeof(char) * buff_size );
            }
            __except( EXCEPTION_EXECUTE_HANDLER ) {
                buffer = NULL;
            }

            if ( buffer == NULL )
                return FALSE;

            /* do the conversion */
            if ( 0 == WideCharToMultiByte( code_page,
                                           WC_COMPOSITECHECK | WC_SEPCHARS,
                                           lpSrcStr,
                                           cchSrc,
                                           buffer,
                                           buff_size,
                                           NULL,
                                           NULL ) )
                return FALSE;

            /* allocate enough space for result (+1 for sanity check) */
            __try {
                pwCharInfo = (WORD *)_alloca( sizeof(WORD) * (buff_size + 1) );
            }
            __except( EXCEPTION_EXECUTE_HANDLER ) {
                pwCharInfo = NULL;
            }

            if ( pwCharInfo == NULL )
                return FALSE;

            /* do we use default lcid */
            if (0 == lcid)
                lcid = __lc_handle[LC_CTYPE];

            /* set to known value */
            pwCharInfo[cchSrc - 1] = pwCharInfo[cchSrc] = 0xFFFF;

            /* obtain result */
            retbool = GetStringTypeA( lcid, dwInfoType, buffer, buff_size,
                                      pwCharInfo );

            /*
             * GetStringTypeA does not reveal how many WORDs have been
             * modifed - to be safe we use another buffer and then
             * verify that EXACTLY cchSrc WORDs were modified. Note that
             * not all multibyte LCID/codepage combos are guaranteed to work.
             */

            if (pwCharInfo[cchSrc - 1] == 0xFFFF || pwCharInfo[cchSrc] != 0xFFFF)
                return FALSE;

            memmove(lpCharType, pwCharInfo, cchSrc * sizeof(WORD));

            return retbool;
        }
        else   /* f_use is neither USE_A nor USE_W */
            return FALSE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡视频| 一区二区三区视频在线观看| 青青草视频一区| 欧美一区二区三区在线看| 日韩福利电影在线观看| 欧美精品免费视频| 久久99国产精品麻豆| 国产日产欧美一区| 91在线播放网址| 亚洲一二三区不卡| 日韩精品一区二| 99久久免费国产| 日韩高清不卡一区二区三区| 精品成人一区二区三区四区| 成人一级黄色片| 亚洲午夜日本在线观看| 日韩一区二区在线免费观看| 国产一区二区三区久久久| 国产精品久久久久精k8| 欧美精品精品一区| 成人性视频网站| 午夜久久福利影院| 国产日韩成人精品| 欧美日韩三级视频| 国产精品乡下勾搭老头1| 亚洲精品久久久蜜桃| 日韩亚洲欧美在线观看| www.性欧美| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久99精品免费观看不卡| 色婷婷精品久久二区二区蜜臂av| 毛片av一区二区三区| 国产精品久久久久久久久免费丝袜 | 石原莉奈一区二区三区在线观看| 久久嫩草精品久久久久| 在线一区二区三区做爰视频网站| 在线精品国精品国产尤物884a| 日本在线不卡一区| 中文字幕一区二区视频| 日韩精品一区二区三区在线观看| 91在线看国产| 国产乱妇无码大片在线观看| 亚洲一级在线观看| 综合久久综合久久| 久久一区二区视频| 3d动漫精品啪啪1区2区免费| eeuss鲁片一区二区三区| 狠狠色狠狠色综合系列| 午夜a成v人精品| 亚洲欧美国产三级| 国产精品视频第一区| 精品国产一二三| 在线电影欧美成精品| 欧美在线免费播放| 国产a区久久久| 国产一区在线视频| 精品一区二区三区不卡| 午夜a成v人精品| 亚洲一区二区四区蜜桃| 中文字幕在线观看一区二区| 国产亚洲精品福利| 国产偷国产偷精品高清尤物 | 在线免费不卡电影| 97超碰欧美中文字幕| 懂色av一区二区夜夜嗨| 韩国女主播一区二区三区| 蜜臀久久99精品久久久久久9| 亚洲韩国一区二区三区| 一区二区欧美视频| 亚洲视频综合在线| 亚洲欧美一区二区三区国产精品| 国产精品视频yy9299一区| 国产午夜精品久久| 亚洲国产成人在线| 中文字幕成人网| 国产精品久久夜| 亚洲人成小说网站色在线| 综合久久久久久| 亚洲欧美视频在线观看视频| 亚洲日本在线看| 亚洲欧美国产77777| 亚洲精品日韩一| 一区二区三区四区不卡在线 | 亚洲日本在线看| 亚洲精选视频在线| 亚洲最大成人网4388xx| 亚洲午夜免费电影| 天堂va蜜桃一区二区三区漫画版| 图片区小说区区亚洲影院| 日本欧美加勒比视频| 激情六月婷婷综合| 成人网在线播放| 色中色一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩成人在线| 日韩精品一区二区三区在线播放| 久久久高清一区二区三区| 国产拍欧美日韩视频二区| 亚洲视频小说图片| 图片区小说区区亚洲影院| 久久91精品国产91久久小草| 国产激情91久久精品导航| 色综合久久中文综合久久牛| 欧美精品高清视频| 国产午夜亚洲精品羞羞网站| 中文字幕五月欧美| 日韩精品免费视频人成| 国产成人精品亚洲午夜麻豆| 91在线观看视频| 日韩女优视频免费观看| 综合在线观看色| 三级久久三级久久久| 粉嫩嫩av羞羞动漫久久久| 欧美亚洲一区二区在线| 精品电影一区二区| 一区二区三区在线视频观看58| 青青草国产精品97视觉盛宴| av一本久道久久综合久久鬼色| 欧美精品成人一区二区三区四区| 国产午夜精品一区二区三区嫩草 | 一个色妞综合视频在线观看| 免费看黄色91| 99精品热视频| 日韩欧美一区在线| 一区二区三区不卡在线观看| 国产一区二区三区| 欧美揉bbbbb揉bbbbb| 亚洲国产精品激情在线观看| 日本亚洲一区二区| 91视频免费播放| 国产亚洲人成网站| 青青国产91久久久久久| 色婷婷久久综合| 亚洲国产精品ⅴa在线观看| 日韩av中文在线观看| 色噜噜久久综合| 国产精品色呦呦| 国内成人精品2018免费看| 欧美三级电影在线看| 亚洲欧美日韩一区二区| 国产成人午夜片在线观看高清观看| 欧美理论在线播放| 一区二区在线观看av| 从欧美一区二区三区| 欧美精品一区二区三区蜜桃| 亚洲va欧美va国产va天堂影院| fc2成人免费人成在线观看播放| 久久综合色之久久综合| 日本欧美在线观看| 欧美日韩不卡一区二区| 一区二区三区免费看视频| 成人av电影在线播放| 国产日本欧洲亚洲| 国产伦精品一区二区三区免费迷 | 欧美日韩国产一二三| 亚洲精品成人精品456| 成人开心网精品视频| 国产日韩精品一区二区浪潮av| 激情欧美一区二区| 26uuu成人网一区二区三区| 免费成人深夜小野草| 日韩一区二区三区观看| 午夜成人免费视频| 3atv一区二区三区| 视频一区在线播放| 日韩一区二区三区三四区视频在线观看| 亚洲成人你懂的| 欧美日韩视频在线一区二区| 亚洲高清免费在线| 337p亚洲精品色噜噜| 麻豆专区一区二区三区四区五区| 欧美一级高清片| 国产综合色在线| 亚洲国产激情av| 色伊人久久综合中文字幕| 一区二区三区在线视频免费| 欧美视频在线一区二区三区 | 国产成人在线视频播放| 久久综合中文字幕| 国产91精品欧美| 亚洲欧美综合网| 欧美在线高清视频| 天天综合日日夜夜精品| 欧美变态tickle挠乳网站| 国产一区二区免费看| 国产精品青草综合久久久久99| 成人avav影音| 亚洲成人av电影在线| 精品区一区二区| www.欧美色图| 午夜精品视频在线观看| 精品久久久久久久久久久久久久久久久 | 天堂一区二区在线免费观看| 日韩欧美国产三级| 粉嫩绯色av一区二区在线观看| 亚洲免费在线播放| 欧美大肚乱孕交hd孕妇| 成人丝袜视频网| 五月天视频一区| 亚洲国产成人私人影院tom|