_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
Porovnává n bajtů dva vícebajtové znakové řetězce pomocí vícebajtová znaková stránka informace.
Důležité |
---|
Toto rozhraní API 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 _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ů k porovnání.locale
Chcete-li národní prostředí pro použití.
Vrácená hodnota
Vrácená hodnota označuje vztah podřetězce string1 a string2.
Vrácená hodnota |
Description |
---|---|
< 0 |
string1podřetězec menší než string2 podřetězec. |
0 |
string1podřetězce, které jsou shodné s string2 podřetězec. |
> 0 |
string1podřetězce, které jsou větší než string2 podřetězec. |
Pokud string1 nebo string2 je NULL nebo 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.Chcete-li použít _NLSCMPERROR, String.h nebo Mbstring.h.
Poznámky
Každá z těchto funkcí seřadí nanejvýš první count bajtů v string1 a string2 a vrátí hodnotu určující vztah mezi výsledné podřetězce string1 a string2.Pokud poslední bajt podřetězec string1 nebo string2 je vedoucí bajt, není součástí porovnání; Tyto funkce porovnat pouze kompletní znaky v dílčích řetězců._mbsnbicollje velká a malá písmena verze _mbsnbcoll.Stejně jako _mbsnbcmp a _mbsnbicmp, _mbsnbcoll a _mbsnbicoll kompletování dva vícebajtové znakové řetězce v lexicographic pořadí určené vícebajtovou znaková stránka palivu.
Pro některé znakové stránky a odpovídající znakové sady pořadí znaků ve znakové sadě lišit od pořadí lexicographic znaků.V národním prostředí "C", to není případ: pořadí znaků ve znakové sadě ASCII je stejná jako lexicographic pořadí znaků.Však v určitých Evropské znakové stránky, například znak "" (hodnota 0x61) předchází znak 'ä' (0xE4) v znak nastavena hodnota, ale znak 'ä' předchází znak 'a' lexicographically.K provedení lexicographic porovnání řetězců pomocí bajtů v takovýchto instancí, použijte _mbsnbcoll spíše než _mbsnbcmp; Kontrola pouze řetězec rovnosti, _mbsnbcmp.
Protože coll funkce kompletování řetězce pro porovnávání, lexicographically, že cmp funkce jednoduše otestovat rovnost řetězec coll funkce jsou mnohem pomalejší než odpovídající cmp verze.Proto coll funkce by měla sloužit pouze v případě, že existuje rozdíl mezi pořadí sady znaků a pořadí lexicographic znaků v aktuální znakové stránky a tento rozdíl má význam pro porovnání.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale pro další informace.Verze těchto funkcí, aniž by _l příponu použít aktuální národní prostředí pro toto chování závislé na národním prostředí; verze s _l s tím rozdílem, že používají místo něho předán parametr locale shodná přípona.Další informace naleznete v tématu Národní prostředí.
Mapování rutiny obecného textu
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_tcsncoll |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_l |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Viz také
Referenční dokumentace
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l