根據上一個位元組傳回位元組類型。
重要
這個 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>* |
* 用於做為傳回值的指令清單常數定義。
如需相容性詳細資訊,請參閱相容性。