_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

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

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

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

int _stricoll(
   const char *string1,
   const char *string2 
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_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.Чтобы использовать _NLSCMPERROR, включите STRING.H или MBSTRING.H._wcsicoll может завершиться неудачей, если string1 или string2 содержат коды юникода вне домена collating последовательности.При возникновении ошибки, _wcsicoll можно задать для errno значение EINVAL.Для проверки ошибок при вызове _wcsicoll, присвойте параметру errno значение 0, а затем проверьте errno после вызова метода _wcsicoll.

Заметки

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

_stricmp отличается от _stricoll тем, что сравнение зависеть _stricmp на LC_CTYPE, тогда как сравнение _stricoll согласно категории LC_CTYPE и LC_COLLATE языкового стандарта.Дополнительные сведения о категории LC_COLLATE см. в разделах setlocale и Категории языкового стандарта.Версии этих функций без суффикса _l используют текущий языковой стандарт; версии с суффиксом _l идентичны за исключением того, что они используют языковой стандарт, вместо этого в.Для получения дополнительной информации см. Языковой стандарт.

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

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

Функция TCHAR.H

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

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

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

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Требования

Функция

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

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h><string.h>

_mbsicoll, _mbsicoll_l

<mbstring.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