Sdílet prostřednictvím


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Porovnává n bajtů dvou vícebajtových znakových řetězců pomocí informací vícebajtové kódové stránky.

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

Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

int _mbsnbcoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbcoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);
int _mbsnbicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parametry

  • string1, string2
    Řetězce k porovnání.

  • count
    Počet bajtů, které mají být porovnány.

  • locale
    Použité národní prostředí.

Vrácená hodnota

Návratová hodnota označuje vztah podřetězců string1 a string2.

Návratová hodnota

Description

< 0

Podřetězec string1 menší než podřetězec string2.

0

Podřetězec string1 shodný s podřetězcem string2.

> 0

Podřetězec string1 větší než podřetězec string2.

Pokud string1 nebo string2 je NULL nebo count je větší než INT_MAX, 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.Chcete-li použít _NLSCMPERROR, zahrňte String.h nebo Mbstring.h.

Poznámky

Každá z těchto funkcí kompletuje nanejvýš prvních count bajtů v string1 a string2 a vrátí hodnotu, která označuje vztah mezi výslednými podřetězci string1 a string2.Pokud poslední bajt v podřetězci string1 nebo string2 je vedoucí bajt, není zahrnut v porovnání; tyto funkce porovnají pouze kompletní znaky v podřetězcích.Verze _mbsnbicoll nerozlišuje velká a malá písmena _mbsnbcoll.Stejně jako _mbsnbcmp a _mbsnbicmp, _mbsnbcoll a _mbsnbicoll kompletují dva vícebajtové znakové řetězce v lexikografickém pořadí určeném vícebajtovou znakovou stránkou, která se právě používá.

Pro některé kódové stránky a příslušné znakové sady se pořadí znaků ve znakové sadě může lišit od pořadí lexikografických znaků.Pro prostředí "C" toto není případ: pořadí znaků ve znakové sadě ASCII je stejné jako lexikografické pořadí znaků.V některých evropských kódových stránkách však například znak "a" (hodnota 0x61) předchází znak 'ä' (0xE4) ve znakové sadě, ale znak 'ä' předchází znak 'a' lexikograficky.K provedení lexikografického porovnání řetězců pomocí bajtů v takovém případě použijte _mbsnbcoll spíše než _mbsnbcmp. Pro kontrolu pouze rovnosti řetězců použijte _mbsnbcmp.

Protože funkce coll kompletují řetězce lexikograficky pro porovnávání, zatímco funkce cmp jednoduše testují rovnost řetězců, funkce coll jsou mnohem pomalejší než odpovídající funkce verze cmp.Proto by funkce coll 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í.

Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale pro další informace.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í.

Rutinní mapování obecného textu

Rutina Tchar.h

_UNICODE a _MBCS nejsou definovány

_MBCS definováno

_UNICODE definováno

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

Požadavky

Rutina

Požadované záhlaví

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

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

Viz také

Referenční dokumentace

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

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

strcoll – funkce

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l