Sdílet prostřednictvím


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

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

Důležitá poznámkaDůležité

_mbsicoll a _mbsicoll_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 _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ě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

_NLSCMPERROR

Vyskytla se chyba.

Každá z těchto funkcí vrací _NLSCMPERROR.Chcete-li použít _NLSCMPERROR, zahrňte STRING.H nebo MBSTRING.H._wcsicoll může selhat, pokud buď string1 nebo string2 obsahuje kódy širokého znaku mimo doménu pořadí řazení.Dojde-li k chybě, _wcsicoll může nastavit errno na EINVAL.Chcete-li zkontrolovat chyby volání _wcsicoll, nastavte errno na 0 a zkontrolujte errno po volání _wcsicoll.

Poznámky

Každá z těchto funkcí provádí porovnávání bez ohledu 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ů.

_stricmp se liší od _stricoll v tom, že porovnání _stricmp je ovlivněno LC_CTYPE, zatímco porovnání _stricoll je podle kategorií LC_CTYPE a LC_COLLATE národního prostředí.Další informace o kategorii LC_COLLATE, viz setlocale a národní kategorie.Verze těchto funkcí bez přípony _l používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s příponou _l jsou stejné s tím rozdílem, že používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.

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

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Požadavky

Rutina

Požadované záhlaví

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

<mbstring.h>

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

Ekvivalent v rozhraní .NET Framework

System::String::Compare

Viz také

Referenční dokumentace

Národní prostředí

Zacházení s řetězci (CRT)

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