Sdílet prostřednictvím


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Porovnání řetězců pomocí aktuální národní prostředí nebo v zadané kategorii LC_CTYPE převodu stavu.

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

_mbscolla _mbscoll_l nelze použít v aplikacích, které jsou spuštěny v systému 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ězce zakončené znakem null pro porovnání.

  • locale
    Chcete-li národní prostředí pro použití.

Vrácená hodnota

Každá z těchto funkcí vrací hodnotu určující vztah mezi string1 na string2*,* takto.

Vrácená hodnota

Vztah řetězec1 k řetězec2

< 0

string1menší nežstring2

0

string1shodné sstring2

> 0

string1větší nežstring2

Každá z těchto funkcí vrací _NLSCMPERROR na chybu.Chcete-li použít _NLSCMPERROR, buď řetězce.H nebo MBSTRING.H.wcscollmůže selhat, pokud buď string1 nebo string2 má hodnotu NULL nebo obsahuje kódy širokého znaku mimo doménu pořadí řazení.Dojde-li k chybě, wcscoll mohou errno na EINVAL.Chcete-li vyhledat chyby na volání wcscoll, nastavte errno 0 a pak zkontrolujte errno po volání wcscoll.

Poznámky

Každá z těchto funkcí se provádí porovnání velká a malá písmena string1 a string2 podle kódu stránky aktuálně používán.Tyto funkce by měla sloužit pouze v případě, že existuje rozdíl mezi znakem objednávky a objednávky lexicographic znak v aktuální znakové stránky a tento rozdíl má význam pro porovnávání řetězců.

Všechny tyto funkce ověření jejich parametrů.Pokud string1 nebo string2 je ukazatel s hodnotou null, nebo pokud count je větší než INT_MAX, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů .Pokud je povoleno zpracování, chcete-li pokračovat, tyto funkce vracejí _NLSCMPERROR a 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í, aniž by _l příponu používat národní prostředí pro aktuální vlákno pro toto chování závislé na národním prostředí; verze s _l přípony jsou shodné s 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í národní prostředí.Další informace naleznete v tématu Národní prostředí.

Mapování rutiny obecného textu

TCHAR.Byla zahájena rutina h

_UNICODE & _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tcscoll

strcoll

_mbscoll

wcscoll

Požadavky

Byla zahájena 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ě, viz Compatibility v úvodu.

Ekvivalent v rozhraní .NET Framework

System::String::Compare

Viz také

Referenční dokumentace

Národní prostředí

Manipulaci s řetězci (CRT)

Funkce strcoll

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