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


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Сравнивать строки с использованием текущего языкового стандарта или определенную категорию состояния LC_CTYPE преобразования.

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

_mbscoll и _mbscoll_l нельзя использовать в приложениях, выполняемых в среды выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW.

int strcoll(
   const char *string1,
   const char *string2 
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale 
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale 
);
int _mbscoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale 
);

Параметры

  • string1, string2
    Строки с завершающим нулем для сравнения.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

Каждая из этих функций возвращает значение, указывающее связь string1 на string2*,* как показано ниже.

Возвращаемое значение

Связь string1 и string2

< 0

string1 меньше чем string2.

0

string1 идентична string2.

> 0

string1 больше чем string2.

Каждая из этих функций _NLSCMPERROR для возвращает ошибку.Чтобы использовать _NLSCMPERROR, включить или STRING.H или MBSTRING.H.wcscoll может завершиться неудачей, если string1 или string2 содержат NULL или коды юникода вне домена collating последовательности.При возникновении ошибки, wcscoll можно задать для errno значение EINVAL.Для проверки ошибок при вызове wcscoll, присвойте параметру errno значение 0, а затем проверьте errno после вызова метода wcscoll.

Заметки

Каждая из этих функций выполняет сравнение с учетом регистра и string1 и string2 в соответствии с кодовой страницей в использовании.Эти функции следует использовать только в том случае, когда различие между порядком кодировки и лексикографическим порядком символов в текущую кодовую страницу и данного отличия представляет интерес для сравнения строк.

Все эти функции производят проверку своих параметров.Если string1 или string2 указатель, или если count больше INT_MAX, обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то функция возвращает _NLSCMPERROR и устанавливает errno в EINVAL.

Сравнение 2 строк операция языкового стандарта, элемента, поскольку каждый языковой стандарт имеет различные правила упорядочения символы.Версии этих функций без суффикса _l используют языковой стандарт текущего потока для данного расширения функциональности языкового стандарта, элемента. версии с суффиксом _l совпадают с соответствующей функции без суффикса, за исключением того, что они используют языковой стандарт, передаваемый в качестве параметра вместо текущего языкового стандарта.Для получения дополнительной информации см. Языковой стандарт.

Универсальное текстовое сопоставление функций

Функция TCHAR.H

неопределенные _UNICODE & _MBCS

определенные _MBCS

Определение _UNICODE

_tcscoll

strcoll

_mbscoll

wcscoll

Требования

Функция

Требуемый заголовок

strcoll

<string.h>

wcscoll

<wchar.h><string.h>

_mbscoll, _mbscoll_l

<mbstring.h>

_strcoll_l

<string.h>

_wcscoll_l

<wchar.h><string.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Эквивалент в .NET Framework

System::String::Compare

См. также

Ссылки

Языковой стандарт

Управление строками (CRT)

функции strcoll

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale, _wsetlocale

strcmp, wcscmp, _mbscmp

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l