_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 |
_wcsncoll |
要求
实例 |
必需的标头 |
---|---|
_strncoll, _strncoll_l |
<string.h> |
_wcsncoll, _wcsncoll_l |
<wchar.h> 或 <string.h> |
_mbsncoll, _mbsncoll_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