Sdílet prostřednictvím


_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Porovná zadaný počet znaků dvou řetězců bez ohledu na velikost písmen.

Důležité

_mbsnicmpa _mbsnicmp_l nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.

Syntaxe

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
);

Parametry

string1, string2
Řetězce ukončené hodnotou null, které se mají porovnat.

count
Počet znaků, které mají být porovnány.

locale
Národní prostředí, které se má použít.

Vrácená hodnota

Označuje vztah mezi podřetězí následujícím způsobem.

Vrácená hodnota Popis
< 0 string1 podřetěžce je menší než string2 podřetěžek.
0 string1 podřetětědce je shodný s string2 podřetědcem.
> 0 string1 podřetětěr je větší než string2 podřetěžek.

Při chybě ověření parametru vrátí _NLSCMPERRORtyto funkce, které jsou definovány v <string.h> a <mbstring.h>.

Poznámky

Funkce _strnicmp porovnává nejvýše první count znaky string1 a string2. Porovnání se provádí bez ohledu na případ převodem každého znaku na malá písmena. _strnicmpnerozlišuje malá a velká písmena verze .strncmp Porovnání skončí, pokud je v některém řetězci dosaženo ukončujícího znaku null před count porovnáním znaků. Pokud jsou řetězce při dosažení ukončujícího znaku null v každém řetězci count před porovnáním znaků stejné, je kratší řetězec menší.

Znaky od 91 do 96 v tabulce ASCII ('[', '\', ']', '^', '_' a '') se vyhodnotí jako menší než jakýkoli abecední znak. Toto řazení je identické s tímto pořadím stricmp.

_wcsnicmpa _mbsnicmp jsou širokoznakové a vícebajtové verze ._strnicmp Argumenty jsou řetězce širokého _wcsnicmp znaku. Argumenty _mbsnicmp jsou řetězce s vícebajtovými znaky. _mbsnicmp rozpozná vícebajtové sekvence znaků podle aktuální vícebajtové znakové stránky a vrátí chybu _NLSCMPERROR . Další informace najdete v tématu Kódové stránky. Tyto tři funkce se chovají stejně jinak. Tyto funkce jsou ovlivněny nastavením národního prostředí – verze, které nemají příponu _l , používají aktuální národní prostředí pro jejich chování závislé na národním prostředí; verze, které mají příponu _l , místo toho používají předanou příponu locale . Další informace naleznete v tématu Národní prostředí.

Všechny tyto funkce ověřují své parametry. Pokud je nebo string2string1 je ukazatel null, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce se vrátí _NLSCMPERROR a nastaví errno na EINVAL.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Mapování rutin obecného textu

Rutina TCHAR.H _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tcsncicmp _strnicmp _mbsnicmp _wcsnicmp
_tcsnicmp _strnicmp _mbsnbicmp _wcsnicmp
_tcsncicmp_l _strnicmp_l _mbsnicmp_l _wcsnicmp_l

Požadavky

Rutina Požadovaný hlavičkový soubor
_strnicmp, _strnicmp_l <string.h>
_wcsnicmp, _wcsnicmp_l <string.h> nebo <wchar.h>
_mbsnicmp, _mbsnicmp_l <mbstring.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

Podívejte se na příklad pro strncmp.

Viz také

Manipulace s řetězci
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