_mbsbtype
, _mbsbtype_l
傳回字串中的位元組類型。
重要
這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 CRT functions not supported in Universal Windows Platform apps (通用 Windows 平台應用程式中不支援的 CRT 函式)。
語法
int _mbsbtype(
const unsigned char *mbstr,
size_t count
);
int _mbsbtype_l(
const unsigned char *mbstr,
size_t count,
_locale_t locale
);
參數
mbstr
多位元組字元序列的位址。
count
從字串開頭的位元組位移。
locale
要使用的地區設定。
傳回值
_mbsbtype
和 _mbsbtype_l
會傳回整數值,指出指定位元組上測試的結果。 下表中的資訊清單常數定義於 Mbctype.h。
傳回值 | 位元組類型 |
---|---|
_MBC_SINGLE (0) |
單一位元組字元。 例如,在代碼頁 932 中,如果指定的位元組位於0x20 - 0x7E或0xA1 - 0xDF範圍內, _mbsbtype 則會傳回 0。 |
_MBC_LEAD (1) |
多位元組字元的前導位元組。 例如,在代碼頁 932 中,如果指定的位元組在0x81 - 0x9F或0xE0 - 0xFC範圍內, _mbsbtype 則會傳回 1。 |
_MBC_TRAIL (2) |
多位元組字元的後隨位元組。 例如,在代碼頁 932 中,如果指定的位元組位於0x40 - 0x7E或0x80 - 0xFC範圍內, _mbsbtype 則會傳回 2。 |
_MBC_ILLEGAL (-1) |
NULL 字串、無效字元,或位於 中mbstr 位移count 的位元組之前找到的 Null 位元組。 |
備註
_mbsbtype
函式會判斷多位元組字元字串中的位元組類型。 此函式只會檢查 mbstr
中位移 count
處的位元組,而略過指定位元組之前的無效字元。
輸出值會受到設定地區設定之 LC_CTYPE
類別設定的影響。 如需詳細資訊,請參閱setlocale
。 這個沒有 _l
後置字元的函式版本,會針對此與地區設定相關的行為使用目前的地區設定;具有 _l
後置字元的版本與其相同,只不過它會改用傳入的地區設定參數。 如需詳細資訊,請參閱 Locale。
如果輸入字串為 NULL
,則會叫用無效的參數處理程式,如參數驗證中所述。 若允許繼續執行, errno
會設為 EINVAL
,且函式會傳回 _MBC_ILLEGAL
中所述。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 | 選擇性標頭 |
---|---|---|
_mbsbtype |
<mbstring.h> | <mbctype.h>* |
_mbsbtype_l |
<mbstring.h> | <mbctype.h>* |
* 用於做為傳回值的指令清單常數。
如需相容性詳細資訊,請參閱相容性。