_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é |
---|
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 |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_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
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l