strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l
Porovná řetězce pomocí aktuální národní prostředí nebo určené kategorii převodu stavu LC_COLLATE.
Důležité |
---|
_mbscoll a _mbscoll_l nelze použít v aplikacích, které jsou spouštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
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ězec zakončený null pro srovnání.locale
Použité národní prostředí.
Vrácená hodnota
Každá z těchto funkcí vrací hodnotu, která označuje vztah mezi string1 a string2*,* takto.
Návratová hodnota |
Vztah řetězec1 k řetězec2 |
---|---|
< 0 |
string1 menší než string2 |
0 |
string1 shodné s string2 |
> 0 |
string1 větší než string2 |
Každá z těchto funkcí vrací _NLSCMPERROR na chybu.Chcete-li použít _NLSCMPERROR, zahrňte STRING.H nebo MBSTRING.H.wcscoll může selhat, pokud buď string1 nebo string2 je NULL nebo obsahuje kódy širokého znaku mimo doménu pořadí řazení.Dojde-li k chybě, wcscoll může nastavit errno na EINVAL.Chcete-li zkontrolovat chyby volání do wcscoll, nastavte errno na 0 a zkontrolujte errno po volání wcscoll.
Poznámky
Každá z těchto funkcí provádí porovnávání s ohledem na velikost písmen řetězců string1 a string2 podle kódové stránky, která se právě používá.Tyto funkce by měly být používány pouze v případě, že existuje rozdíl mezi pořadím znakové sady a lexikografickým pořadím znaků v aktuální znakové stránce a tento rozdíl je relevantní pro porovnání řetězců.
Všechny tyto funkce ověřují své parametry.Pokud je string1 nebo string2 ukazatel s hodnotou null, nebo pokud je count větší než INT_MAX, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v tématu Ověření parametru.Pokud provádění může pokračovat, vrátí funkce _NLSCMPERROR a nastaví errno na EINVAL.
Porovnání dvou řetězců je operace závislá na národním prostředí, protože každé národní prostředí má jiná pravidla pro řazení znaků.Verze těchto funkcí bez přípony _l používají národní prostředí aktuálního vlákna pro toto chování závislé na národním prostředí. Verze s příponou _l 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 namísto aktuálního národního prostředí.Další informace naleznete v tématu Národní prostředí.
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcscoll |
strcoll |
_mbscoll |
wcscoll |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
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ě naleznete v tématu Kompatibilita.
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l