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

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

?? mbctype.c

?? C標準庫源代碼,能提高對C的理解,不錯的哦
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***
*mbctype.c - MBCS table used by the functions that test for types of char
*
*       Copyright (c) 1985-1997, Microsoft Corporation.  All rights reserved.
*
*Purpose:
*       table used to determine the type of char
*
*******************************************************************************/

#ifdef _MBCS

#if defined (_WIN32)
#include <windows.h>
#else  /* defined (_WIN32) */
#include <fltintrn.h>
#endif  /* defined (_WIN32) */

#include <mtdll.h>
#include <cruntime.h>
#include <mbdata.h>
#include <mbctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <internal.h>
#if defined (_WIN32)
#include <setlocal.h>
#endif  /* defined (_WIN32) */
#if defined (_WIN32)
#include <awint.h>
#endif  /* defined (_WIN32) */

#ifdef _MAC

#include <macos\language.h>
#include <macos\script.h>

void __cdecl __initmbctable(void);

#pragma data_seg(".CRT$XIC")
const   PFV __pinitmbctable = __initmbctable;
#pragma data_seg()

static short tmpScriptID;
static short mbScriptID;

#endif  /* _MAC */

#ifndef CRTDLL

void __cdecl __initmbctable(void);
/*
 * Flag to ensure multibyte ctype table is only initialized once
 */
extern int __mbctype_initialized;

#pragma data_seg(".CRT$XIC")
static _PVFV pinit = __initmbctable;
#pragma data_seg()

#endif  /* CRTDLL */

#define _CHINESE_SIMP_CP    936
#define _KOREAN_WANGSUNG_CP 949
#define _CHINESE_TRAD_CP    950
#define _KOREAN_JOHAB_CP    1361

#define NUM_CHARS 257 /* -1 through 255 */

#define NUM_CTYPES 4 /* table contains 4 types of info */
#define MAX_RANGES 8 /* max number of ranges needed given languages so far */

/* character type info in ranges (pair of low/high), zeros indicate end */
typedef struct
{
    int             code_page;
    unsigned short  mbulinfo[NUM_ULINFO];
    unsigned char   rgrange[NUM_CTYPES][MAX_RANGES];
} code_page_info;


/* MBCS ctype array */
unsigned char _mbctype[NUM_CHARS];
unsigned char _mbcasemap[256];

/* global variable to indicate current code page */
int __mbcodepage;

/* global flag indicating if current code page is a multibyte code page */
int __ismbcodepage;

#ifdef _WIN32
/* global variable to indicate current LCID */
int __mblcid;
#endif  /* _WIN32 */

/* global variable to indicate current full-width-latin upper/lower info */
unsigned short __mbulinfo[NUM_ULINFO];

static int fSystemSet;

static char __rgctypeflag[NUM_CTYPES] = { _MS, _MP, _M1, _M2 };

static code_page_info __rgcode_page_info[] =
{
    {
      _KANJI_CP, /* Kanji (Japanese) Code Page */
      { 0x8260, 0x8279,   /* Full-Width Latin Upper Range 1 */
        0x8281 - 0x8260,  /* Full-Width Latin Case Difference 1 */

        0x0000, 0x0000,   /* Full-Width Latin Upper Range 2 */
        0x0000            /* Full-Width Latin Case Difference 2 */
#ifndef _WIN32
        ,
        0x8281, 0x829A,   /* Full-Width Latin Lower Range 1 */

        0x0000, 0x0000,   /* Full-Width Latin Lower Range 2 */

        0x824F, 0x8258    /* Full-Width Latin Digit Range */
#endif  /* _WIN32 */
      },
      {
        { 0xA6, 0xDF, 0,    0,    0,    0,    0, 0, }, /* Single Byte Ranges */
        { 0xA1, 0xA5, 0,    0,    0,    0,    0, 0, }, /* Punctuation Ranges */
        { 0x81, 0x9F, 0xE0, 0xFC, 0,    0,    0, 0, }, /* Lead Byte Ranges */
        { 0x40, 0x7E, 0x80, 0xFC, 0,    0,    0, 0, }, /* Trail Byte Ranges */
      }
    },
    {
      _CHINESE_SIMP_CP, /* Chinese Simplified (PRC) Code Page */
      { 0xA3C1, 0xA3DA,   /* Full-Width Latin Upper Range 1 */
        0xA3E1 - 0xA3C1,  /* Full-Width Latin Case Difference 1 */

        0x0000, 0x0000,   /* Full-Width Latin Upper Range 2 */
        0x0000            /* Full-Width Latin Case Difference 2 */
#ifndef _WIN32
        ,
        0xA3E1, 0xA3FA,   /* Full-Width Latin Lower Range 1 */

        0x0000, 0x0000,   /* Full-Width Latin Lower Range 2 */

        0xA3B0, 0xA3B9    /* Full-Width Latin Digit Range */
#endif  /* _WIN32 */
      },
      {
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Single Byte Ranges */
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Punctuation Ranges */
        { 0x81, 0xFE, 0,    0,    0,    0,    0, 0, }, /* Lead Byte Ranges */
        { 0x40, 0xFE, 0,    0,    0,    0,    0, 0, }, /* Trail Byte Ranges */
      }
    },
    {
      _KOREAN_WANGSUNG_CP, /* Wangsung (Korean) Code Page */
      { 0xA3C1, 0xA3DA,   /* Full-Width Latin Upper Range 1 */
        0xA3E1 - 0xA3C1,  /* Full-Width Latin Case Difference 1 */

        0x0000, 0x0000,   /* Full-Width Latin Upper Range 2 */
        0x0000            /* Full-Width Latin Case Difference 2 */
#ifndef _WIN32
        ,
        0xA3E1, 0xA3FA,   /* Full-Width Latin Lower Range 1 */

        0x0000, 0x0000,   /* Full-Width Latin Lower Range 2 */

        0xA3B0, 0xA3B9    /* Full-Width Latin Digit Range */
#endif  /* _WIN32 */
      },
      {
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Single Byte Ranges */
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Punctuation Ranges */
        { 0x81, 0xFE, 0,    0,    0,    0,    0, 0, }, /* Lead Byte Ranges */
        { 0x41, 0xFE, 0,    0,    0,    0,    0, 0, }, /* Trail Byte Ranges */
      }
    },
    {
      _CHINESE_TRAD_CP, /* Chinese Traditional (Taiwan) Code Page */
      { 0xA2CF, 0xA2E4,   /* Full-Width Latin Upper Range 1 */
        0xA2E9 - 0xA2CF,  /* Full-Width Latin Case Difference 1 */

        0xA2E5, 0xA2E8,   /* Full-Width Latin Upper Range 2 */
        0xA340 - 0XA2E5   /* Full-Width Latin Case Difference 2 */
#ifndef _WIN32
        ,
        0xA2E9, 0xA2FE,   /* Full-Width Latin Lower Range 1 */

        0xA340, 0xA343,   /* Full-Width Latin Lower Range 2 */

        0xA2AF, 0xA2B8    /* Full-Width Latin Digit Range */
#endif  /* _WIN32 */
      },
      {
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Single Byte Ranges */
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Punctuation Ranges */
        { 0x81, 0xFE, 0,    0,    0,    0,    0, 0, }, /* Lead Byte Ranges */
        { 0x40, 0x7E, 0xA1, 0xFE, 0,    0,    0, 0, }, /* Trail Byte Ranges */
      }
    },
    {
      _KOREAN_JOHAB_CP, /* Johab (Korean) Code Page */
      { 0xDA51, 0xDA5E,   /* Full-Width Latin Upper Range 1 */
        0xDA71 - 0xDA51,  /* Full-Width Latin Case Difference 1 */

        0xDA5F, 0xDA6A,   /* Full-Width Latin Upper Range 2 */
        0xDA91 - 0xDA5F   /* Full-Width Latin Case Difference 2 */
#ifndef _WIN32
        ,
        0xDA71, 0xDA7E,   /* Full-Width Latin Lower Range 1 */

        0xDA91, 0xDA9C,   /* Full-Width Latin Lower Range 2 */

        0xDA40, 0xDA49    /* Full-Width Latin Digit Range */
#endif  /* _WIN32 */
      },
      {
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Single Byte Ranges */
        { 0,    0,    0,    0,    0,    0,    0, 0, }, /* Punctuation Ranges */
        { 0x81, 0xD3, 0xD8, 0xDE, 0xE0, 0xF9, 0, 0, }, /* Lead Byte Ranges */
        { 0x31, 0x7E, 0x81, 0xFE, 0,    0,    0, 0, }, /* Trail Byte Ranges */
      }
    }
};

/***
*getSystemCP - Get system default CP if requested.
*
*Purpose:
*       Get system default CP if requested.
*
*Entry:
*       codepage - user requested code page/world script
*Exit:
*       requested code page
*
*Exceptions:
*
*******************************************************************************/

static int getSystemCP (int codepage)
{
#ifdef _WIN32
    /* get system code page values if requested */

    fSystemSet = 0;

    if (codepage == _MB_CP_OEM)
    {
        fSystemSet = 1;
        return GetOEMCP();
    }

    else if (codepage == _MB_CP_ANSI)
    {
        fSystemSet = 1;
        return GetACP();
    }

    else
    if (codepage == _MB_CP_LOCALE)
    {
        fSystemSet = 1;
        return __lc_codepage;
    }

    return codepage;

#endif  /* _WIN32 */

#ifdef _MAC

    tmpScriptID = 0;
    fSystemSet = 0;

    /* get system Script ID */
    if (codepage == _MB_CP_OEM || codepage == _MB_CP_ANSI)
    {
        fSystemSet = 1;
        tmpScriptID = (short) GetEnvirons(smSysScript);
    }

    /* or convert user Script ID */
    else if (codepage > 0 && codepage < 32)
        tmpScriptID = (short) codepage;

    if (tmpScriptID)
    {
        switch (tmpScriptID) {

            case smJapanese:
                return _KANJI_CP;

            case smKorean:
                return _KOREAN_WANGSUNG_CP;

            case smTradChinese:
                return _CHINESE_TRAD_CP;

            case smSimpChinese:
                return _CHINESE_SIMP_CP;

            default:
                tmpScriptID = 0;
        }
    }

    return codepage;

#endif  /* _MAC */

}


#ifdef _WIN32

/***
*CPtoLCID() - Code page to LCID.
*
*Purpose:
*       Some API calls want an LCID, so convert MB CP to appropriate LCID,
*       and then API converts back to ANSI CP for that LCID.
*
*Entry:
*   codepage - code page to convert
*Exit:
*       returns appropriate LCID
*
*Exceptions:
*
*******************************************************************************/

static int CPtoLCID (int codepage)
{
    switch (codepage) {

    case 932:
        return MAKELCID(MAKELANGID(LANG_JAPANESE,SUBLANG_DEFAULT),
                        SORT_DEFAULT);
    case 936:
        return MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED),
                        SORT_DEFAULT);
    case 949:
        return MAKELCID(MAKELANGID(LANG_KOREAN,SUBLANG_DEFAULT),
                        SORT_DEFAULT);
    case 950:
        return MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_TRADITIONAL),
                        SORT_DEFAULT);

    }

    return 0;
}

#endif  /* _WIN32 */


/***
*setSBCS() - Set MB code page to SBCS.
*
*Purpose:
*           Set MB code page to SBCS.
*Entry:
*
*Exit:
*
*Exceptions:
*
*******************************************************************************/

static void setSBCS (void)
{
    int i;

    /* set for single-byte code page */
    for (i = 0; i < NUM_CHARS; i++)
        _mbctype[i] = 0;

    /* code page has changed, set global flag */
    __mbcodepage = 0;

    /* clear flag to indicate single-byte code */
    __ismbcodepage = 0;

#ifdef _WIN32
    __mblcid = 0;
#endif  /* _WIN32 */

    for (i = 0; i < NUM_ULINFO; i++)
        __mbulinfo[i] = 0;
}

/***
*setSBUpLow() - Set single byte upper/lower mappings
*
*Purpose:
*           Set single byte mapping for tolower/toupper.
*Entry:
*
*Exit:
*
*Exceptions:
*
*******************************************************************************/

static void setSBUpLow (void)
{
#ifdef _WIN32
    BYTE *  pbPair;
    UINT    ich;
    CPINFO  cpinfo;
    UCHAR   sbVector[256];
    UCHAR   upVector[256];
    UCHAR   lowVector[256];
    USHORT  wVector[256];

    //    test if codepage exists
    if (GetCPInfo(__mbcodepage, &cpinfo) == TRUE)
    {
        //  if so, create vector 0-255
        for (ich = 0; ich < 256; ich++)
            sbVector[ich] = (UCHAR) ich;

        //  set byte 0 and any leading byte value to non-alpha char ' '
        sbVector[0] = (UCHAR)' ';
        for (pbPair = &cpinfo.LeadByte[0]; *pbPair; pbPair += 2)
            for (ich = *pbPair; ich <= *(pbPair + 1); ich++)
                sbVector[ich] = (UCHAR)' ';

        //  get char type for character vector

        __crtGetStringTypeA(CT_CTYPE1, sbVector, 256, wVector,
                            __mbcodepage, __mblcid, FALSE);

        //  get lower case mappings for character vector

        __crtLCMapStringA(__mblcid, LCMAP_LOWERCASE, sbVector, 256,
                                    lowVector, 256, __mbcodepage, FALSE);

        //  get upper case mappings for character vector

        __crtLCMapStringA(__mblcid, LCMAP_UPPERCASE, sbVector, 256,
                                    upVector, 256, __mbcodepage, FALSE);

        //  set _SBUP, _SBLOW in _mbctype if type is upper. lower
        //  set mapping array with lower or upper mapping value

        for (ich = 0; ich < 256; ich++)
            if (wVector[ich] & _UPPER)
            {
                _mbctype[ich + 1] |= _SBUP;
                _mbcasemap[ich] = lowVector[ich];
            }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费在线观看| 日韩福利电影在线| 欧美一区二区在线观看| 成人精品国产免费网站| 水蜜桃久久夜色精品一区的特点 | 日韩欧美国产综合| 97精品电影院| 国产一区二区h| 午夜精品久久久久久久99水蜜桃 | 欧美色视频在线| 大胆亚洲人体视频| 秋霞电影一区二区| 亚洲成人一区二区| 亚洲精品一卡二卡| 国产精品乱人伦中文| 久久久久久久久岛国免费| 7777精品伊人久久久大香线蕉最新版| 国产高清一区日本| 精品一区二区在线观看| 日本不卡一二三| 亚洲成av人影院| 亚洲欧美国产三级| 中文字幕人成不卡一区| 久久综合999| 日韩手机在线导航| 3751色影院一区二区三区| 欧洲精品一区二区三区在线观看| 99久久精品国产精品久久| 懂色av一区二区三区免费观看| 丁香网亚洲国际| 久久99精品国产麻豆不卡| 免费三级欧美电影| 麻豆91在线观看| 麻豆高清免费国产一区| 美女视频黄 久久| 蜜臀av一区二区在线免费观看| 天天综合网 天天综合色| 亚洲bt欧美bt精品777| 亚洲成a人v欧美综合天堂下载 | 91在线视频免费观看| 99精品热视频| 91视频一区二区三区| 日本丶国产丶欧美色综合| 91福利精品视频| 欧美无人高清视频在线观看| 欧美午夜精品一区| 欧美日韩国产免费| 91精品国产乱码| 欧美不卡在线视频| 2017欧美狠狠色| 国产精品女上位| 亚洲欧美在线视频| 亚洲在线观看免费视频| 亚洲小说欧美激情另类| 午夜视频在线观看一区二区三区| 日韩高清不卡一区二区三区| 久久成人av少妇免费| 国产成人av福利| caoporm超碰国产精品| 91色乱码一区二区三区| 欧美日韩一区二区欧美激情| 欧美一二三区在线| 国产精品视频第一区| 一区二区三区四区视频精品免费| 五月激情综合婷婷| 国产一区二区日韩精品| 91网站黄www| 欧美一区二区三区免费| 国产色婷婷亚洲99精品小说| 亚洲欧洲av一区二区三区久久| 亚洲成人av一区二区三区| 久久 天天综合| 99re热视频这里只精品| 91精品免费在线观看| 国产女人水真多18毛片18精品视频| 亚洲色图丝袜美腿| 奇米色一区二区三区四区| 国产剧情一区二区三区| 日本道在线观看一区二区| 日韩精品影音先锋| 亚洲欧美另类小说视频| 美女视频黄频大全不卡视频在线播放| 91黄色小视频| 欧美一级片免费看| 中文字幕不卡在线观看| 日韩和欧美一区二区| 成人丝袜视频网| 欧美一区二区三区四区视频| 中文在线一区二区| 日产国产欧美视频一区精品| av一区二区三区在线| 日韩欧美成人一区| 亚洲欧美日韩中文播放| 激情综合网激情| 欧美伊人精品成人久久综合97 | 亚洲一二三区视频在线观看| 国内精品自线一区二区三区视频| 一本大道久久a久久精品综合| 91麻豆精品国产自产在线| 中文字幕亚洲电影| 国产一区在线视频| 欧美日韩激情一区二区三区| 最新国产精品久久精品| 黄页网站大全一区二区| 欧美日韩午夜在线| 最新久久zyz资源站| 国产精品18久久久久久久久久久久 | 欧美揉bbbbb揉bbbbb| 国产精品亲子伦对白| 久久国产欧美日韩精品| 欧美吞精做爰啪啪高潮| 国产精品婷婷午夜在线观看| 久久精品国产亚洲aⅴ| 在线观看av一区| 国产精品网曝门| 国产精品一级在线| 日韩欧美国产电影| 日本在线不卡视频一二三区| 在线影院国内精品| 亚洲天堂福利av| 不卡的看片网站| 日本一区二区三区电影| 精品亚洲成a人在线观看| 欧美精品123区| 亚洲va国产天堂va久久en| 91福利资源站| 亚洲人成精品久久久久| 成人avav影音| 国产精品色婷婷久久58| 成人黄动漫网站免费app| 国产视频一区二区在线| 国产麻豆日韩欧美久久| 久久天堂av综合合色蜜桃网| 蜜桃视频一区二区| 欧美第一区第二区| 看国产成人h片视频| 精品美女在线播放| 国产精品自拍av| 国产欧美日韩中文久久| 成人免费av网站| 亚洲一区二区三区小说| 色综合天天综合网天天看片| 亚洲欧美日韩久久精品| 91久久精品一区二区| 亚洲国产三级在线| 欧美日韩国产三级| 男人的j进女人的j一区| 精品国产一二三| 国产精品一二三区| 中文字幕在线播放不卡一区| av影院午夜一区| 亚洲另类春色国产| 欧美中文字幕一区二区三区| 亚洲伊人色欲综合网| 欧美久久久久久蜜桃| 九九视频精品免费| 欧美激情一区不卡| 欧美伊人精品成人久久综合97| 亚洲mv在线观看| 精品久久一二三区| 成人h动漫精品一区二区| 亚洲视频你懂的| 91麻豆精品国产自产在线观看一区| 麻豆一区二区99久久久久| 久久久精品综合| av在线播放成人| 日韩国产欧美一区二区三区| 精品国产不卡一区二区三区| 从欧美一区二区三区| 亚洲综合一区在线| 26uuu久久综合| 91网站视频在线观看| 麻豆91在线播放免费| 亚洲视频一二三| 欧美电视剧在线看免费| av一二三不卡影片| 日本强好片久久久久久aaa| 国产精品网站一区| 69av一区二区三区| 国产精品538一区二区在线| 一区二区成人在线视频| 日韩视频在线你懂得| 91免费看片在线观看| 精品影视av免费| 亚洲日本在线看| 日韩精品中午字幕| 在线精品观看国产| 国产激情91久久精品导航| 亚洲国产欧美在线| 国产欧美日韩在线看| 欧美精品丝袜久久久中文字幕| 粉嫩蜜臀av国产精品网站| 婷婷成人综合网| 亚洲人成伊人成综合网小说| 精品久久久久香蕉网| 欧美性猛交xxxxxx富婆| 粉嫩在线一区二区三区视频| 免费看日韩a级影片| 亚洲一区二区精品视频| 国产精品人妖ts系列视频|