_mbsnbicmp
, _mbsnbicmp_l
比較兩個多位元組位元元字串的 n 個字節,並忽略大小寫。
重要
這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 CRT functions not supported in Universal Windows Platform apps (通用 Windows 平台應用程式中不支援的 CRT 函式)。
語法
int _mbsnbicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
參數
string1
, string2
以 Null 結束的待比較字串。
count
要比較的位元組數目。
傳回值
傳回值表示子字串之間的關聯性。
傳回值 | 描述 |
---|---|
< 0 | string1 子字串小於 string2 子字串。 |
0 | string1 子字串等於 string2 子字串。 |
> 0 | string1 子字串大於 string2 子字串。 |
發生錯誤時,_mbsnbicmp
會傳回 _NLSCMPERROR
(定義於 String.h 和 Mbstring.h 中)。
備註
_mbsnbicmp
函式最多會對 count
和 string1
的前 string2
個位元組執行序數比較。 系統會將每個字元轉換成小寫來執行比較;_mbsnbcmp
是區分大小寫版本的 _mbsnbicmp
。 如果在比較 count
個字元之前任一字串中已達結束的 null 字元,則會結束比較。 如果字串相等,當比較 count
個字元之前任一字串中已達結束的 null 字元時,較短的字串為較小者。
_mbsnbicmp
類似於 _mbsnbcmp
,但會比較最多 count
個位元組的字串,而不是字元。
兩個字串包含位於 ASCII 數據表中 'Z' 和 'a' 之間的字元('['、'\'、']'、'^'、'_' 和 ''') 會根據大小寫而不同地比較。 例如,如果比較是小寫,則兩個字串 “ABCDE” 和 “ABCD^” 會比較一種方式 (“abcde > ” “abcd^”) 和另一種方式 (“ABCDE < ” “ABCD^”)。
_mbsnbicmp
根據目前使用的多位元組字碼頁來辨識多位元組字元序列。 它不受目前地區設定的影響。
string1
如果 或 string2
為 Null 指標,_mbsnbicmp
請叫用無效的參數處理程式,如參數驗證中所述。 如果允許繼續執行,函式會傳回 _NLSCMPERROR
,並將 errno
設為 EINVAL
。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
一般文字常式對應
Tchar.h 常式 | _UNICODE 和 _MBCS 未定義 |
_MBCS 已定義 |
_UNICODE 已定義 |
---|---|---|---|
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsnicmp_l |
_strnicmp_l |
_mbsnbicmp_l |
_wcsnicmp_l |
需求
常式 | 必要的標頭 |
---|---|
_mbsnbicmp |
<mbstring.h> |
如需相容性詳細資訊,請參閱相容性。
範例
請參閱、 的_mbsnbcmp
_mbsnbcmp_l
範例。
另請參閱
字串操作
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_stricmp
、、_wcsicmp
_mbsicmp
、_stricmp_l
、、_wcsicmp_l
、_mbsicmp_l