Sdílet prostřednictvím


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

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

Důležité

_mbsicolla _mbsicoll_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 _stricoll(
   const char *string1,
   const char *string2
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

Parametry

string1, string2
Řetězce ukončené hodnotou null, 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 string1 k string2následujícímu:

Vrácená hodnota string1 Vztah kstring2
< 0 string1 menší než string2
0 string1 shodný s string2
> 0 string1 větší než string2
_NLSCMPERROR Došlo k chybě.

Každá z těchto funkcí vrátí _NLSCMPERROR. Chcete-li použít _NLSCMPERROR, zadejte <řetězec.h> nebo <mbstring.h>. _wcsicoll 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ě, _wcsicoll může být nastavena errno na EINVAL. Chcete-li zkontrolovat chybu při volání _wcsicoll, nastavte errno na hodnotu 0 a potom zkontrolujte errno po volání _wcsicoll.

Poznámky

Každá z těchto funkcí provádí porovnání string1 bez rozlišování velkých a malých písmen podle string2 aktuálně používané znakové stránky. 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ů v aktuální znakové stránce a tento rozdíl je pro porovnání řetězců zajímavý.

_stricmp liší se od _stricoll toho, že _stricmp porovnání je ovlivněno LC_CTYPE, zatímco _stricoll porovnání je v závislosti na LC_CTYPE a LC_COLLATE kategoriích národního prostředí. Další informace o LC_COLLATE kategorii najdete setlocale v tématech a kategoriích národního prostředí. Verze těchto funkcí bez přípony _l používají aktuální národní prostředí. Verze s _l příponou jsou shodné s tím rozdílem, že místo toho používají předané národní prostředí. Další informace naleznete v tématu Národní prostředí.

Všechny tyto funkce ověřují své parametry. Pokud se jedná o ukazatelistring1, NULLstring2 vyvolá se 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
_tcsicoll _stricoll _mbsicoll _wcsicoll

Požadavky

Rutina Požadovaný hlavičkový soubor
_stricoll, _stricoll_l <string.h>
_wcsicoll, _wcsicoll_l <wchar.h>, <string.h>
_mbsicoll, _mbsicoll_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