_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
Сравнивает указанное количество символов двух строк без учета регистра.
Важно!
Функции _mbsnicmp
и _mbsnicmp_l
не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
int _strnicmp(
const char *string1,
const char *string2,
size_t count
);
int _wcsnicmp(
const wchar_t *string1,
const wchar_t *string2,
size_t count
);
int _mbsnicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strnicmp_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsnicmp_l(
const wchar_t *string1,
const wchar_t *string2,
size_t count,
_locale_t locale
);
int _mbsnicmp_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Параметры
string1
, string2
Строки с завершающим нулем для сравнения.
count
Число сравниваемых символов.
locale
Используемый языковой стандарт.
Возвращаемое значение
Отражает связь между подстроками указанным ниже образом.
Возвращаемое значение | Description |
---|---|
< 0 | Подстрока string1 меньше, чем подстрока string2 . |
0 | Подстрока string1 идентична подстроке string2 . |
> 0 | Подстрока string1 больше, чем подстрока string2 . |
При ошибке проверки параметров возвращаются эти функции _NLSCMPERROR
, определенные в <string.h> и <mbstring.h>.
Замечания
Функция сравнивает, по крайней _strnicmp
мере, первые count
символы string1
и string2
. Сравнение выполняется без учета регистра путем преобразования каждого символа в нижний регистр. _strnicmp
— не чувствительная к регистру версия strncmp
. Сравнение заканчивается, если был достигнут завершающий нуль-символ в любой из строк до того, как были сравнены count
симв. Если строки равны, когда завершающий нуль-символ достигается в любой из строк до того, как count
симв. сравнены, более короткая строка считается меньшей.
Символы от 91 до 96 в таблице ASCII ("[", "\", "]", "^", "_" и """ оцениваются как меньше любого алфавитного символа. Такое упорядочение идентично используемому функцией stricmp
.
Функции _wcsnicmp
и _mbsnicmp
являются версиями функции _strnicmp
для расширенных и многобайтовых символов. Аргументы _wcsnicmp
являются строками расширенных символов. Аргументы _mbsnicmp
являются строками многобайтовых символов. _mbsnicmp
распознает последовательности многобайтовых символов в соответствии с текущей многобайтовой кодовой страницей и возвращает _NLSCMPERROR
при ошибке. Дополнительные сведения см. на страницах кода. В остальном эти три функции ведут себя идентично. На эти функции влияет настройка языкового стандарта: версии без суффикса _l
используют текущий языковой стандарт для зависящего от языкового стандарта поведения; версии с суффиксом _l
используют переданный в них параметр locale
. Дополнительные сведения см. в разделе Locale.
Все эти функции проверяют свои параметры. Если указатель string1
string2
имеет значение NULL, вызывается обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если продолжение выполнения разрешено, эти функции возвращают _NLSCMPERROR
и устанавливают для errno
значение EINVAL
.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tcsncicmp |
_strnicmp |
_mbsnicmp |
_wcsnicmp |
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsncicmp_l |
_strnicmp_l |
_mbsnicmp_l |
_wcsnicmp_l |
Требования
Маршрут | Обязательный заголовок |
---|---|
_strnicmp , _strnicmp_l |
<string.h> |
_wcsnicmp , _wcsnicmp_l |
<string.h> или <wchar.h> |
_mbsnicmp , _mbsnicmp_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Пример см. в примере strncmp
.
См. также
Обработка строк
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
strncat
, _strncat_l
, wcsncat
, _wcsncat_l
, _mbsncat
, _mbsncat_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
strncpy
, _strncpy_l
, wcsncpy
, _wcsncpy_l
, _mbsncpy
, _mbsncpy_l
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
, _mbsset_l
strspn
, wcsspn
, _mbsspn
, _mbsspn_l
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по