共用方式為


_strncoll、 _wcsncoll、 _mbsncoll、 _strncoll_l、 _wcsncoll_l、 _mbsncoll_l

使用地區設定特定的資訊來比較字串。

重要

_mbsncoll 和 _mbsncoll_l 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW

int _strncoll(
   const char *string1,
   const char *string2,
   size_t count 
);
int _wcsncoll(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count 
);
int _mbsncoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _strncoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsncoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsncoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

參數

  • string1, string2
    要比較的 NULL 結尾字串。

  • count
    要比較的字元數。

  • locale
    使用的地區設定。

傳回值

這些函式都如下傳回值 string1 和 string2子關聯性,的值。

傳回值

string1 string2 關聯性

< 0

string1 小於 string2。

0

string1 與 string2相同。

> 0

string1 大於 string2。

這些函式會傳回 _NLSCMPERROR中的每個。 若要使用 _NLSCMPERROR,將 STRING.h 或 MBSTRING.h。 _wcsncoll 會失敗,如果 string1 或 string2 是包含在定序序列的網域以外的寬字元程式碼。 發生錯誤時, _wcsncoll 會將 errno 設定為 EINVAL。 在呼叫 _wcsncoll後,要檢查名為的錯誤到 _wcsncoll,請將 errno 設定為 0 然後檢查 errno 。

備註

這些函式都會在 string1 和 string2執行的第一個 count 字元的區分大小寫的比較,視目前使用的字碼頁。 請使用這些函式,才會在字元集順序和字典會之間有差異在字碼頁,,和,這些差異是字串比較的重要時。 字元集順序是與地區設定相關。 沒有 _l 結尾使用目前的地區設定這些功能的版本,不過,具有 _l 結尾使用地區設定傳遞的版本。 如需詳細資訊,請參閱地區設定

這些函式會驗證它們的參數。 如果 string1 或 string2 為 null 指標,或 count 大於 INT_MAX,無效的參數叫用處理常式,如 參數驗證中所述。 如果執行允許繼續執行,這些函式傳回 _NLSCMPERROR 並將 errno 設為 EINVAL。

泛用文字常式對應

TCHAR.H 常式

未定義 _UNICODE & _MBCS

已定義 _MBCS

已定義 _UNICODE

_tcsnccoll

_strncoll

_mbsncoll

_wcsncoll

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

需求

程序

必要的標頭檔

_strncoll, _strncoll_l

<string.h>

_wcsncoll, _wcsncoll_l

<wchar.h> 或 <string.h>

_mbsncoll, _mbsncoll_l

<mbstring.h>

如需其他相容性資訊,請參閱 相容性

.NET Framework 對等用法

System::String::Compare

請參閱

參考

地區設定

字串操作 (CRT)

strcoll 函式

localeconv

_mbsnbcoll、 _mbsnbcoll_l、 _mbsnbicoll、 _mbsnbicoll_l

setlocale _wsetlocale

strcmp,wcscmp _mbscmp

_stricmp、 _wcsicmp、 _mbsicmp、 _stricmp_l、 _wcsicmp_l、 _mbsicmp_l

strncmp、 wcsncmp、 _mbsncmp、 _mbsncmp_l

_strnicmp、 _wcsnicmp、 _mbsnicmp、 _strnicmp_l、 _wcsnicmp_l、 _mbsnicmp_l

strxfrm、 wcsxfrm、 _strxfrm_l、 _wcsxfrm_l