_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l
比较两个字符串的字符(不考虑大小写)。
重要
_mbsnicmp 和 _mbsnicmp_l 无法用于在 Windows 运行时 中执行的应用程序。有关更多信息,请参见 CRT 函数不支持使用 /ZW。
int _strnicmp( const char *string1, const char *string2, size_t count ); int _wcsnicmp( const wchar_t *string1, const wchar_t *string2, size_t count ); int _mbsnicmp( const unsigned char *string1, const unsigned char *string2, size_t count ); int _strnicmp_l( const char *string1, const char *string2, size_t count, _locale_t locale ); int _wcsnicmp_l( const wchar_t *string1, const wchar_t *string2, size_t count, _locale_t locale ); int _mbsnicmp_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale );
参数
string1, string2
要比较的 null 终止的字符串。count
要比较的字符数。locale
要使用的区域设置。
返回值
指示子字符串之间的关系,如下所示。
返回值 |
描述 |
---|---|
< 0 |
string1 子字符串小于 string2 子字符串。 |
0 |
string1 子字符串等于 string2 子字符串。 |
> 0 |
string1 子字符串大于 string2 子字符串。 |
参数验证错误时,这些函数返回 _NLSCMPERROR,该返回值是在 <string.h> 和 <mbstring.h> 中定义的。
备注
_strnicmp 最多对 string1 和 string2 的前 count 字符进行序号比较。 通过将每个字符转换为小写进行不区分大小写的比较。 _strnicmp 是 strncmp 的不区分大小写版本。 如果比较 count 个字符之前在任一字符串中到达终止 null 字符,则比较停止。 如果比较 count 个字符之前在某一字符串中达到终止 null 字符时两个字符串相等,则较短的字符串较小。
ASCII 表中从 91 到 96 的字符(“[”、“\”、“]”、“^”、“_”和“`”)的计算结果小于任意字母字符。 此排序等同于 stricmp 的排序。
_wcsnicmp 和 _mbsnicmp 分别是 _strnicmp 的宽字符及多字节字符版本。 _wcsnicmp 的参数是宽字符字符串;而 _mbsnicmp 的则是多字节字符字符串。 _mbsnicmp 根据当前的多字节代码页识别多字节字符序列,并在发生错误时返回 _NLSCMPERROR。 有关详细信息,请参阅代码页。 否则这三个函数否则具有相同行为。 这些函数受到区域设置的影响:没有 _l 后缀的版本对其与区域设置相关的行为使用当前区域设置;而带有 _l 后缀的版本则使用传入的 locale。 有关详细信息,请参阅区域设置。
所有这些函数都验证其参数。 如果 string1 或 string2 是 null 指针,则调用无效的参数处理程序,如 参数验证 中所述。 如果允许执行继续,则这些函数将返回 _NLSCMPERROR 并将 errno 设置为 EINVAL。
一般文本例程映射
TCHAR.H 例程 |
未定义 _UNICODE 和 _MBCS |
已定义 _MBCS |
已定义 _UNICODE |
---|---|---|---|
_tcsncicmp |
_strnicmp |
_mbsnicmp |
_wcsnicmp |
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsncicmp_l |
_strnicmp_l |
_mbsnicmp_l |
_wcsnicmp_l |
要求
例程 |
必需的标头 |
---|---|
_strnicmp, _strnicmp_l |
<string.h> |
_wcsnicmp, _wcsnicmp_l |
<string.h> 或 <wchar.h> |
_mbsnicmp, _mbsnicmp_l |
<mbstring.h> |
有关其他兼容性信息,请参见兼容性。
示例
请参阅 strncme 的示例。
.NET Framework 等效项
请参见
参考
strncat、_strncat_l、wcsncat、_wcsncat_l、_mbsncat、_mbsncat_l
strncmp、wcsncmp、_mbsncmp、_mbsncmp_l
strncpy、_strncpy_l、wcsncpy、_wcsncpy_l、_mbsncpy、_mbsncpy_l
strrchr、wcsrchr、_mbsrchr、_mbsrchr_l