_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 |
_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
См. также
Ссылки
_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