Поделиться через


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Сравнивает байты n 2 строк многобайтовой кодировки с помощью данных многобайтовой кодовой страницы.

Важное примечаниеВажно

Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции 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 или string2NULL или count больше значения INT_MAX, то обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то функция возвращает _NLSCMPERROR и устанавливает errno в EINVAL.Чтобы использовать _NLSCMPERROR, включить или String.h или Mbstring.h.

Заметки

Каждая из этих функций collates, по крайней мере, первые count байтов в string1 и string2 и возвращает значение, указывающее связь между результирующее подстроками string1 и string2.Если конечный подстроке байт в string1 или string2 старшего байта, он не включается в сравнении; эти функции сравнения только полные символы в подстроках._mbsnbicoll не нечувствительная версия _mbsnbcoll., Как _mbsnbcmp и _mbsnbicmp, _mbsnbcoll и _mbsnbicoll collate 2 строки многобайтовой кодировки в соответствии с порядком, лексикографическому многобайтовой кодовая страница в использовании.

Для некоторых кодовых страниц и соответствующие кодировок порядок символов в кодировке может отличаться от порядка лексикографического символов.В языковом стандарте "C", это не так. порядок символов в кодировке ASCII совпадает с лексикографический порядок знаков.Однако в некоторых европейских кодовых страниц, например, символ "a" (значение 0x61) предшествует символ "ä" (значение 0xE4) в кодировке, только ä" предшествует символ "символ "a" лексикографически.Чтобы выполнить лексикографическое сравнение строк байтов в том экземпляре, используйте _mbsnbcoll вместо _mbsnbcmp. для проверки на равенство только строки, используйте _mbsnbcmp.

Так как функции coll collate строки лексикографически для сравнения, тогда как функции 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