_mbbtype
, _mbbtype_l
根據上一個位元組傳回位元組類型。
重要
這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 CRT functions not supported in Universal Windows Platform apps (通用 Windows 平台應用程式中不支援的 CRT 函式)。
語法
int _mbbtype(
unsigned char c,
int type
);
int _mbbtype_l(
unsigned char c,
int type,
_locale_t locale
);
參數
c
要測試的字元。
type
要測試的位元組類型。
locale
要使用的地區設定。
傳回值
_mbbtype
傳回字串中的位元組類型。 這項決策是即時線上的,如提供控制項測試條件的 type
值所指定。 type
是該字串中前一個位元組的類型。 下表中的資訊清單常數定義於 Mbctype.h。
type 的值 |
_mbbtype 測試 |
傳回值 | c |
---|---|---|---|
1 以外的任何值 | 有效的單一位元組或前導位元 | _MBC_SINGLE (0) |
單一位元組 (0x20 - 0x7E, 0xA1 - 0xDF) |
1 以外的任何值 | 有效的單一位元組或前導位元 | _MBC_LEAD (1) |
多位元組字元的前置位元組 (0x81 - 0x9F, 0xE0 - 0xFC) |
1 以外的任何值 | 有效的單一位元組或前導位元 | _MBC_ILLEGAL (-1) |
無效字元:非單一或前置字元(0x00 - 0x1F、0x7F、0x80、0xA0、0xFD、0xFE、0xFF) |
1 | 有效的後隨位元組 | _MBC_TRAIL (2) |
多位元組字元的尾端位元組 (0x40 - 0x7E, 0x80 - 0xFC) |
1 | 有效的後隨位元組 | _MBC_ILLEGAL (-1) |
無效字元:沒有尾端字元(0x00 - 0x3F、0x7F、0xFD、0xFE、0xFF) |
備註
_mbbtype
函式會判斷多位元組字元中的位元組類型。 如果 type
的值為 1 以外的任何值,則 _mbbtype
會針對多位元組字元之有效的單一位元組或前導位元組進行測試。 如果 type
的值為 1,則 _mbbtype
會針對多位元組字元之有效的後隨位元組進行測試。
輸出值會受到設定地區設定之 LC_CTYPE
類別設定的影響。 如需詳細資訊,請參閱 setlocale
和 _wsetlocale
。 此 _mbbtype
函式的版本會針對此地區設定相依行為使用目前的地區設定; _mbbtype_l
版本相同,不同之處在於它會改用傳入的地區設定參數。 如需詳細資訊,請參閱 Locale。
在舊版中,_mbbtype
名為 chkctype
。 對於新的程式碼,請改用 _mbbtype
。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 | 選擇性標頭 |
---|---|---|
_mbbtype |
<mbstring.h> | <mbctype.h>* |
_mbbtype_l |
<mbstring.h> | <mbctype.h>* |
* 用於做為傳回值的指令清單常數定義。
如需相容性詳細資訊,請參閱相容性。