Sdílet prostřednictvím


strcoll, wcscoll, _mbscoll, _strcoll_l, , _wcscoll_l_mbscoll_l

Porovná řetězce pomocí aktuálního národního prostředí nebo zadané LC_COLLATE kategorie stavu převodu.

Důležité

_mbscolla _mbscoll_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 strcoll(
   const char *string1,
   const char *string2
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbscoll_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 méně než string2
0 string1 shodný s string2
> 0 string1 větší než string2

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

Poznámky

Každá z těchto funkcí provádí porovnání string1 s rozlišováním velkých a malých písmen a string2 podle 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ý.

Všechny tyto funkce ověřují své parametry. Pokud je ukazatel string1 null nebo string2 je count větší INT_MAXnež , 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.

Porovnání těchto dvou řetězců je operace závislá na národním prostředí, protože každé národní prostředí má různá pravidla pro řazení znaků. Verze těchto funkcí bez _l přípony používají pro toto chování závislé na národním prostředí aktuální vlákno. Verze s _l příponou jsou stejné jako odpovídající funkce bez přípony s tím rozdílem, že používají národní prostředí předané jako parametr místo aktuálního národního prostředí. Další informace naleznete v tématu Národní prostředí.

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 definovaný _UNICODE definovaný
_tcscoll strcoll _mbscoll wcscoll

Požadavky

Rutina Požadovaný hlavičkový soubor
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.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