Share via


_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 > *

* 用於做為傳回值的資訊清單常數。

如需相容性詳細資訊,請參閱相容性

另請參閱

位元組分類