_strncoll
, _wcsncoll
, _mbsncoll
, _strncoll_l
, , _wcsncoll_l
_mbsncoll_l
Porovnává řetězce pomocí informací specifických pro národní prostředí.
Důležité
_mbsncoll
a _mbsncoll_l
nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
int _strncoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsncoll(
const wchar_t *string1,
const wchar_t *string2,
size_t count
);
int _mbsncoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strncoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsncoll_l(
const wchar_t *string1,
const wchar_t *string2,
size_t count,
_locale_t locale
);
int _mbsncoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parametry
string1
, string2
Řetězce ukončené hodnotou null, které se mají porovnat.
count
Počet znaků, které se mají porovnat.
locale
Národní prostředí, které se má použít
Vrácená hodnota
Každá z těchto funkcí vrátí hodnotu, která označuje vztah podřetězení string1
a string2
, následujícím způsobem.
Vrácená hodnota | string1 Vztah kstring2 |
---|---|
< 0 | string1 je menší než string2 . |
0 | string1 je shodná s string2 . |
> 0 | string1 je větší než string2 . |
Každá z těchto funkcí vrátí _NLSCMPERROR
. Chcete-li použít _NLSCMPERROR
, uveďte buď STRING.h, nebo MBSTRING.h. _wcsncoll
může selhat, pokud některý string1
nebo string2
obsahuje kódy širokých znaků, které jsou mimo doménu kompletující sekvence. Pokud dojde k chybě, _wcsncoll
může být nastavena errno
na EINVAL
. Pokud chcete zkontrolovat chybu při volání _wcsncoll
, nastavte errno
na hodnotu 0 a potom zkontrolujte, jestli se hovor nechytá errno
_wcsncoll
.
Poznámky
Každá z těchtofunkcích count
string1
string2
Tyto funkce používejte pouze v případě, že je rozdíl mezi pořadím znakové sady a pořadím lexikografických znaků na znakové stránce a kdy je tento rozdíl důležitý pro porovnání řetězců. Pořadí znakové sady je závislé na národním prostředí. Verze těchto funkcí, které nemají příponu _l
, používají aktuální národní prostředí, ale verze, které mají příponu _l
, používají národní prostředí, které je předáno. Další informace naleznete v tématu Národní prostředí.
Všechny tyto funkce ověřují své parametry. Pokud je ukazatel string1
null nebo string2
je větší INT_MAX
než count
, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce se vrátí _NLSCMPERROR
a nastaví errno
na EINVAL
.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
Rutina TCHAR.H | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcsnccoll |
_strncoll |
_mbsncoll |
_wcsncoll |
_tcsncoll |
_strncoll |
_mbsnbcoll |
_wcsncoll |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strncoll , _strncoll_l |
<string.h> |
_wcsncoll , _wcsncoll_l |
<wchar.h> nebo <string.h> |
_mbsncoll , _mbsncoll_l |
<mbstring.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Národní prostředí
Manipulace s řetězci
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