Sdílet prostřednictvím


_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é

_mbsncolla _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 countstring1string2 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_MAXnež 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 Definovány _UNICODE Definovány
_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