_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

使用多字节代码页信息,n 字节比较两个多字节字符字符串。

重要

此 API 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW

int _mbsnbcoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbcoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);
int _mbsnbicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

参数

  • string1, string2
    比较的字符串。

  • count
    比较的字节数。

  • locale
    使用的区域设置。

返回值

返回一个值 string1 和 string2子字符串的关系。

返回值

描述

< 0

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

0

string1 子字符串与 string2 子字符串。

> 0

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

如果 string1 或 string2 是 NULL 或 count 比 INT_MAX大,无效参数调用处理程序,如 参数验证所述。 如果执行允许继续,这些函数返回 _NLSCMPERROR 并将 errno 到 EINVAL。 若要使用 _NLSCMPERROR,请包括 String.h 或 Mbstring.h。

备注

这些功能中的每一个排列,至多,在 string1 的第一个 count 字节和 string2 并返回一 string1 发生的子字符串和 string2值之间的关系。 如果在 string1 或 string2 子字符串的最终字节是前导字节,在该比较不包括;这些功能比较在子字符串的仅完整字符。 _mbsnbicoll 是 _mbsnbcoll的一个不区分大小写的版本。 与 _mbsnbcmp 和 _mbsnbicmp,_mbsnbcoll 和 _mbsnbicoll 基于多字节指定的该字典顺序排列两个多字节字符字符串当前正在使用的 代码页

对于某些代码页和对应的字符集,字符顺序在该字符集的可能与字典字符顺序不同。 在“C”区域设置,这不是用例:字符顺序 ASCII 字符集中的与字符的字典顺序。 例如,但是,在某些欧洲代码页字符“a”(值 0x61) 位于字符“ä”(值 0xE4) 对字符集,但是,字符“ä”字典地在字符" a "”。 由字节若要执行字符串一个字典将此类实例,请使用 _mbsnbcoll 而不是 _mbsnbcmp;若要只检查字符串相等,请使用 _mbsnbcmp。

由于 coll 功能字典地排列字符串比较的,因此,而 cmp 功能为字符串相等简单的测试,coll 功能比操作 cmp 版本慢。 因此,应使用 coll 功能,只有 + 当对字符集命令时和字典字符序列当前代码页和差异之间的区别是该比较的利益。

输出值受设置 LC_CTYPE 类设置的影响区域设置;请参见 setlocale 有关更多信息。 这些功能的版本不 _l 后缀为该区域设置相关的行为使用当前区域设置;与 _l 后缀的版本相同,只不过它们使用传入的区域设置参数。 有关更多信息,请参见区域设置

一般文本例程映射

Tchar.h 实例

未定义的_UNICODE 和_MBCS

定义的_MBCS

定义的_UNICODE

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

要求

实例

必需的标头

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

有关更多兼容性信息,请参见中介绍的 兼容性

请参见

参考

字符串操作(crt)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

strcoll功能

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l