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


_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l

Сравнивает строки с помощью информации, характерной для языкового стандарта.

Важно!

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

int _strnicoll(
   const char *string1,
   const char *string2,
   size_t count 
);
int _wcsnicoll(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count 
);
int _mbsnicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _strnicoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicoll_l(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count,
   _locale_t locale
);
int _mbsnicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Параметры

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

  • count
    Число сравниваемых символов

  • locale
    Используемый языковой стандарт.

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

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

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

Отношение string1 к string2

< 0

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

0

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

> 0

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

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

Заметки

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

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

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

Подпрограмма TCHAR.H

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

_MBCS определено

_UNICODE определено

_tcsncicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

Требования

Подпрограмма

Обязательный заголовок

_strnicoll, _strnicoll_l

<string.h>

_wcsnicoll, _wcsnicoll_l

<wchar.h> или <string.h>

_mbsnicoll, _mbsnicoll_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