_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