_mbsnbicmp、_mbsnbicmp_l

比较两个多字节字符字符串的 n 个字节,忽略大小写。

重要

此 API 不能用于在 Windows 运行时中执行的应用程序。有关详细信息,请参阅 /ZW 不支持 CRT 函数

int _mbsnbicmp(    const unsigned char *string1,    const unsigned char *string2,    size_t count  );

参数

  • string1, string2
    要比较的 null 终止的字符串。

  • count
    要比较的字节数。

返回值

返回值指示子字符串之间的关系。

返回值

描述

< 0

string1 子字符串小于 string2 子字符串。

0

string1 子字符串等于 string2 子字符串。

> 0

string1 子字符串大于 string2 子字符串。

发生错误时,_mbsnbcmp 返回 _NLSCMPERROR,该返回值是在 String.h 和 Mbstring.h 中定义的。

备注

_mbsnbicmp 函数最多对 string1 和 string2 的前 count 个字节执行序号比较。 通过将每个字符转换为小写进行比较;_mbsnbcmp 是 _mbsnbicmp 的区分大小写版本。 如果比较 count 个字符之前在任一字符串中到达终止 null 字符,则比较停止。 如果比较 count 个字符之前在某一字符串中达到终止 null 字符时两个字符串相等,则较短的字符串较小。

_mbsnbicmp 类似于 _mbsnicmp,只不过它按 count 个字节(而非按字符)对字符串进行比较。

两个包含位于 ASCII 表中“Z”和“a”之间的字符(“[”、“\”、“]”、“^”、“_”和“`”)的字符串将有不同的比较结果,具体取决于它们的大小写形式。 例如,如果比较采用小写形式(“abcde”>“abcd^”),则字符串“ABCDE”和“ABCD^”将以一种方式进行比较,而如果采用大写形式,则采用另一个方式经进行比较(“ABCDE”<“ABCD^”)。

_mbsnbicmp 根据当前使用的多字节代码页识别多字节字符序列。 它不受当前区域设置影响。

如果 string1 或 string2 为 null 指针,则 _mbsnbicmp 将调用无效参数处理程序,如参数验证中所述。 如果允许继续执行,则函数将返回 _NLSCMPERROR,并且将 errno 设置为 EINVAL。

一般文本例程映射

Tchar.h 例程

未定义 _UNICODE 和 _MBCS

已定义 _MBCS

已定义 _UNICODE

_tcsnicmp

_strnicmp

_mbsnbicmp

_wcsnicmp

_tcsnicmp_l

_strnicmp_l

_mbsnbicmp_l

_wcsnicmp_l

要求

例程

必需的标头

_mbsnbicmp

<mbstring.h>

有关更多兼容性信息,请参阅兼容性

示例

请参阅 _mbsnbcmp、_mbsnbcmp_l 的示例。

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例

请参见

参考

字符串操作 (CRT)

_mbsnbcat、_mbsnbcat_l

_mbsnbcmp、_mbsnbcmp_l

_stricmp、_wcsicmp、_mbsicmp、_stricmp_l、_wcsicmp_l、_mbsicmp_l