Sdílet prostřednictvím


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

Porovná řetězce pomocí informací specifických pro národní prostředí.

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

_mbsncoll a _mbsncoll_l nelze použít v aplikacích, které jsou spouštěny v prostředí Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

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ězec zakončený null pro srovnání.

  • count
    Počet znaků, které chcete porovnat.

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

Vrácená hodnota

Každá z těchto funkcí vrací hodnotu, která označuje vztah mezi podřetězce string1 a string2, tj.

Návratová hodnota

Vztah řetězec1 k řetězec2

< 0

string1 je menší než string2.

0

Funkce string1 je shodná s funkcí string2.

> 0

string1 je větší než string2.

Každá z těchto funkcí vrací _NLSCMPERROR.Chcete-li použít _NLSCMPERROR, STRING.h nebo Mbstring.h definují._wcsncollmůže selhat, pokud buď string1 nebo string2 obsahuje kód širokého znaku, který je mimo doménu pořadí řazení.Dojde-li k chybě, _wcsncoll může nastavit errno na EINVAL.Chcete-li zkontrolovat chyby pro volání na _wcsncoll, nastavte errno 0 a zkontrolujte errno po volání _wcsncoll.

Poznámky

Každá z těchto funkcí provádí porovnání velká a malá písmena prvního count znaky v string1 a string2, podle stránky kód, který je právě používán.Tyto funkce lze použijte pouze v případě, že je rozdíl mezi pořadí sady znaků a pořadí lexicographic znaků v kódu stránky a tento rozdíl je určen pro porovnávání řetězců.Nastavit pořadí znaků je závislá na národní prostředí.Verze těchto funkcí, které nemají _l příponu použít aktuální národní prostředí, ale verze, které mají _l přípony pomocí národního prostředí, který je předán v.Další informace naleznete v tématu Národní prostředí.

Všechny tyto funkce ověřují své parametry.Pokud string1 nebo string2 je ukazatel s hodnotou null, nebo count je větší než INT_MAX, je vyvolána neplatný parametr obslužné rutiny, 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.

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tcsnccoll

_strncoll

_mbsncoll

_wcsncoll

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

Požadavky

Rutina

Požadované záhlaví

_strncoll, _strncoll_l

<string.h>

_wcsncoll, _wcsncoll_l

<wchar.h> nebo <string.h>

_mbsncoll, _mbsncoll_l

<mbstring.h>

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

Ekvivalent v rozhraní .NET Framework

System::String::Compare

Viz také

Referenční dokumentace

Národní prostředí

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

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