_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l
使用特定于区域设置的信息,比较字符串。
重要
_mbsnicoll 和 _mbsnicoll_l 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW。
int _strnicoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsnicoll(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count
);
int _mbsnicoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strnicoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsnicoll_l(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count,
_locale_t locale
);
int _mbsnicoll_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。 如果 string1 或 string2 包含一个排序的序列的字段之外,宽字符代码_wcsnicoll 会失败。 发生错误时,_wcsnicoll 可以设置 errno 到 EINVAL。 若要检查调用一个错误。_wcsnicoll,请设置 errno 到 0 在调用 _wcsnicoll然后检查 errno**.**
备注
这些功能中的每一个在 string1 和 string2 执行第一 count 字符的一个不区分大小写的比较根据代码页。 应使用这些功能,只有 + 当对字符集命令时和字典字符序列。代码页和差异之间的区别是字符串比较的利益。 这些功能的版本不 _l 后缀使用当前的区域设置和代码页。 与_l 后缀的版本相同,只不过它们使用的区域设置。 有关更多信息,请参见区域设置。
所有这些函数验证其参数。 如果 string1 或 string2 是 null 指针,或者,如果计数大于 INT_MAX大,无效参数调用处理程序,如 参数验证 所述。 如果执行允许继续,这些函数返回 _NLSCMPERROR 并将 errno 到 EINVAL**.**
一般文本例程映射
TCHAR.H 实例 |
未定义的_UNICODE & _MBCS |
定义的_MBCS |
定义的_UNICODE |
---|---|---|---|
_tcsncicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll |
_strnicoll |
_wcsnicoll |
|
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
要求
实例 |
必需的标头 |
---|---|
_strnicoll, _strnicoll_l |
<string.h> |
_wcsnicoll, _wcsnicoll_l |
<wchar.h> 或 <string.h> |
_mbsnicoll, _mbsnicoll_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