%>
比较两个多字节字符字符串的 n 个字节,忽略大小写。
重要
此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数。
语法
int _mbsnbicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
参数
%>
要比较的 null 终止的字符串。
count
要比较的字节数。
返回值
返回值指示子字符串之间的关系。
返回值 | 说明 |
---|---|
< 0 | string1 子字符串小于 string2 子字符串。 |
0 | string1 子字符串等于 string2 子字符串。 |
> 0 | string1 子字符串大于 string2 子字符串。 |
发生错误时,_mbsnbicmp
返回 _NLSCMPERROR
,该返回值是在 String.h 和 Mbstring.h 中定义的。
注解
_mbsnbicmp
函数最多对 count
和 string1
的前 string2
个字节执行序号比较。 通过将每个字符转换为小写进行比较;_mbsnbcmp
是 _mbsnbicmp
的区分大小写版本。 如果比较 count
个字符之前在任一字符串中到达终止 null 字符,则比较停止。 如果比较 count
个字符之前在某一字符串中达到终止 null 字符时两个字符串相等,则较短的字符串较小。
_mbsnbicmp
类似于 _mbsnbcmp
,只不过它按 count
个字节(而非按字符)对字符串进行比较。
两个包含位于 ASCII 表中“Z”和“a”之间的字符(“[”、“\”、“]”、“^”、“_”和“`”)的字符串将有不同的比较结果,具体取决于它们的大小写形式。 例如,两个字符串“ABCDE”和“ABCD^”如果比较是小写 ("abcde" > "abcd^"),则比较一种方式,如果比较是大写,则另一种方式 ("ABCDE" < "ABCD^")。
_mbsnbicmp
根据当前使用的多字节代码页识别多字节字符序列。 它不受当前区域设置的影响。
如果 string1
或 string2
为空指针,则 _mbsnbicmp
会调用无效参数处理程序,如参数验证中所述。 如果允许继续执行,则函数将返回 _NLSCMPERROR
,并且将 errno
设置为 EINVAL
。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
一般文本例程映射
Tchar.h 例程 | _UNICODE 和 _MBCS 未定义 |
_MBCS 已定义 |
_UNICODE 已定义 |
---|---|---|---|
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsnicmp_l |
_strnicmp_l |
_mbsnbicmp_l |
_wcsnicmp_l |
要求
例程 | 必需的标头 |
---|---|
_mbsnbicmp |
<mbstring.h> |
有关兼容性的详细信息,请参阅 兼容性。
示例
请参阅 _mbsnbcmp
、_mbsnbcmp_l
的示例。
另请参阅
字符串操作
%>
%>