_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
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應