_stricoll、_wcsicoll、_mbsicoll、_stricoll_l、_wcsicoll_l、_mbsicoll_l
使用地區設定特定的資訊來比較字串。
重要
_mbsicoll 和 _mbsicoll_l不能用於在 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式。
int _stricoll(
const char *string1,
const char *string2
);
int _wcsicoll(
const wchar_t *string1,
const wchar_t *string2
);
int _mbsicoll(
const unsigned char *string1,
const unsigned char *string2
);
int _stricoll_l(
const char *string1,
const char *string2,
_locale_t locale
);
int _wcsicoll_l(
const wchar_t *string1,
const wchar_t *string2,
_locale_t locale
);
int _mbsicoll_l(
const unsigned char *string1,
const unsigned char *string2,
_locale_t locale
);
參數
string1, string2
以 Null 結束的待比較字串。locale
使用的地區設定。
傳回值
這些函式都會傳回表示 string1 和 string2*、* 的關係,如下所示。
傳回值 |
string1 與 string2 的關係 |
---|---|
< 0 |
string1 小於 string2 |
0 |
string1 與 string2 相同 |
> 0 |
string1 大於 string2 |
_NLSCMPERROR |
發生錯誤。 |
這些函式都會傳回 _NLSCMPERROR。 若要使用 _NLSCMPERROR,請包含 STRING.H 或 MBSTRING.H。 如果 string1 或 string2 包含在定序序列的網域之外之寬字元程式碼,_wcsicoll 可能會失敗。 發生錯誤時, _wcsicoll 會將 errno 設定為 EINVAL。 若要檢查呼叫 _wcsicoll 上的錯誤,請將 errno 設定為 0 然後再呼叫 _wcsicoll 之後檢查 errno 。
備註
這些函式都會根據目前使用的字碼頁執行 string1 和 string2 不區分大小寫的比較。 這些函式應該只有在目前字碼頁上,字元集順序和字典字元順序存在差異,且這些差異影響到字串比較時,才會使用。
_stricmp 與_stricoll 不同之處在於_stricmp 的比較過程受 LC_CTYPE 的影響,而_stricoll 的比較結果是根據 LC_CTYPE 和地區設定的LC_COLLATE類別。 如需LC_COLLATE分類的詳細資訊,請參閱setlocale 和 地區設定分類。 這些沒有 _l 尾碼的函式版本使用目前的地區設定;有_l 尾碼的函式版本則使用傳入的地區設定。 如需詳細資訊,請參閱地區設定。
這些函式全都會驗證它們的參數。 如果 string1 或 string2 為NULL 指標,就會叫用無效參數處理常式,如 參數驗證 中所述。 如果允許繼續執行,這些函式會傳回 _NLSCMPERROR,並將 errno 設為 EINVAL。
一般文字常式對應
TCHAR.H 常式 |
未定義 _UNICODE & _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_tcsicoll |
_stricoll |
_mbsicoll |
_wcsicoll |
需求
常式 |
必要的標頭 |
---|---|
_stricoll, _stricoll_l |
<string.h> |
_wcsicoll, _wcsicoll_l |
<wchar.h>, <string.h> |
_mbsicoll, _mbsicoll_l |
<mbstring.h> |
如需其他相容性資訊,請參閱相容性。
.NET Framework 對等用法
請參閱
參考
_mbsnbcoll、_mbsnbcoll_l、_mbsnbicoll、_mbsnbicoll_l
_stricmp、_wcsicmp、_mbsicmp、_stricmp_l、_wcsicmp_l、_mbsicmp_l
strncmp、wcsncmp、_mbsncmp、_mbsncmp_l
_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l