_strnicoll
, , _wcsnicoll
_strnicoll_l
_mbsnicoll
_wcsnicoll_l
,_mbsnicoll_l
Сравнивает строки на основе данных языкового стандарта.
Внимание
Функции _mbsnicoll
и _mbsnicoll_l
не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
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
.
Замечания
Каждая из этих функций сравнивает с учетом регистра первые несколько символов в строках string1
и string2
на основе кодовой страницы (количество сравниваемых символов определяется параметром count
). Эти функции следует использовать только в том случае, если в кодовой странице имеется разница между порядком набора символов и лексографическим порядком символов, и это различие представляет интерес для сравнения строк. Версии этих функций без суффикса _l
используют текущий языковой стандарт и кодовую страницу. Версии с суффиксом _l
идентичны, за исключением того, что они используют переданный языковой стандарт. Дополнительные сведения см. в разделе Locale.
Все эти функции проверяют свои параметры. Если или string1
string2
имеет значение NULL, или если число больше INT_MAX
, вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эти функции возвращают _NLSCMPERROR
и устанавливают для errno
значение EINVAL
.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма 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> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Локаль
Обработка строк
Функции strcoll
localeconv
_mbsnbcoll
, , _mbsnbcoll_l
_mbsnbicoll
_mbsnbicoll_l
setlocale
, _wsetlocale
strcmp
, , wcscmp
_mbscmp
_stricmp
, , _wcsicmp
_stricmp_l
_mbsicmp
_wcsicmp_l
,_mbsicmp_l
strncmp
, , wcsncmp
_mbsncmp
_mbsncmp_l
_strnicmp
, , _wcsnicmp
_strnicmp_l
_mbsnicmp
_wcsnicmp_l
,_mbsnicmp_l
strxfrm
, , wcsxfrm
_strxfrm_l
_wcsxfrm_l