_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
См. также
Ссылки
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l