Sdílet prostřednictvím


_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l

Porovnává řetězce pomocí informací specifických pro národní prostředí.

Důležité

_mbsnicolla _mbsnicoll_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 _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
);

Parametry

string1, string2
Řetězce s ukončenou hodnotou null pro porovnání

count
Počet znaků, které se mají porovnat

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

Vrácená hodnota

Každá z těchto funkcí vrátí hodnotu označující vztah podřetězení string1 a string2následujícím způsobem.

Vrácená hodnota Relace řetězce 1 k řetězci2
< 0 string1 menší než string2
0 string1 shodný s string2
> 0 string1 větší než string2

Každá z těchto funkcí vrátí _NLSCMPERROR. Chcete-li použít _NLSCMPERROR, uveďte buď ŘETĚZEC. H nebo MBSTRING.H. _wcsnicoll může selhat, pokud některý string1 nebo string2 obsahuje kódy širokých znaků mimo doménu kompletující sekvence. Pokud dojde k chybě, _wcsnicoll může být nastavena errno na EINVAL. Chcete-li zkontrolovat chybu při volání _wcsnicoll, nastavte errno na hodnotu 0 a potom zkontrolujte errno po volání _wcsnicoll.

Poznámky

Každá z těchto funkcí provádí porovnání prvních count znaků a string1 podle znakové stránky nerozlišují malá a string2 velká písmena. Tyto funkce by se měly používat pouze v případě, že je rozdíl mezi pořadím znakové sady a pořadím lexikografických znaků na znakové stránce a tento rozdíl je pro porovnání řetězců zajímavý. Verze těchto funkcí bez přípony _l používají aktuální národní prostředí a znakovou stránku. Verze s příponou _l jsou shodné s tím rozdílem, že místo toho používají národní prostředí předané. Další informace naleznete v tématu Národní prostředí.

Všechny tyto funkce ověřují své parametry. Pokud je ukazatel null string1 nebo string2 pokud je počet větší než INT_MAX, 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
_tcsncicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll_l _strnicoll_l _mbsnbicoll_l _wcsnicoll_l

Požadavky

Rutina Požadovaný hlavičkový soubor
_strnicoll, _strnicoll_l <string.h>
_wcsnicoll, _wcsnicoll_l <wchar.h> nebo <string.h>
_mbsnicoll, _mbsnicoll_l <mbstring.h>

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

Viz také

Národní prostředí
Manipulace s řetězci
strcoll – funkce
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