_strnicoll
, _wcsnicoll
, _mbsnicoll
, _strnicoll_l
, , _wcsnicoll_l
_mbsnicoll_l
Porovnává řetězce pomocí informací specifických pro národní prostředí.
Důležité
_mbsnicoll
a _mbsnicoll_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 _strnicoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsnicoll(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count
);
int _mbsnicoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strnicoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsnicoll_l(
const wchar_t *string1,
const wchar_t *string2 ,
size_t count,
_locale_t locale
);
int _mbsnicoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parametry
string1
, string2
Řetězce s ukončenou hodnotou null pro porovnání
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 označující vztah podřetězení string1
a string2
následujícím způsobem.
Vrácená hodnota | Relace řetězce 1 k řetězci2 |
---|---|
< 0 | string1 méně než string2 |
0 | string1 shodný s string2 |
> 0 | string1 větší než string2 |
Každá z těchto funkcí vrátí _NLSCMPERROR
. Chcete-li použít _NLSCMPERROR
, uveďte buď ŘETĚZEC. H nebo MBSTRING.H. _wcsnicoll
může selhat, pokud některý string1
nebo string2
obsahuje kódy širokých znaků mimo doménu kompletující sekvence. Pokud dojde k chybě, _wcsnicoll
může být nastavena errno
na EINVAL
. Chcete-li zkontrolovat chybu při volání _wcsnicoll
, nastavte errno
na hodnotu 0 a potom zkontrolujte errno
po volání _wcsnicoll
.
Poznámky
Každá z těchto funkcí provádí porovnání prvních count
znaků a string1
podle znakové stránky nerozlišují malá a string2
velká písmena. Tyto funkce by se měly používat 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 tento rozdíl je pro porovnání řetězců zajímavý. Verze těchto funkcí bez přípony _l
používají aktuální národní prostředí a znakovou stránku. Verze s příponou _l
jsou shodné s tím rozdílem, že místo toho používají národní prostředí předané. Další informace naleznete v tématu Národní prostředí.
Všechny tyto funkce ověřují své parametry. Pokud je ukazatel null string1
nebo string2
pokud je počet větší než INT_MAX
, 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ý |
---|---|---|---|
_tcsncicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strnicoll , _strnicoll_l |
<string.h> |
_wcsnicoll , _wcsnicoll_l |
<wchar.h> nebo <string.h> |
_mbsnicoll , _mbsnicoll_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