_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 |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_l |
Требования
Функция |
Требуемый заголовок |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
См. также
Ссылки
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l