_strnicoll
, , _wcsnicoll
, _mbsnicoll
, _strnicoll_l
, , _wcsnicoll_l
_mbsnicoll_l
Porównuje ciągi przy użyciu informacji specyficznych dla ustawień regionalnych.
Ważne
_mbsnicoll
nie można jej _mbsnicoll_l
używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
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
Ciągi zakończone wartością null do porównania
count
Liczba znaków do porównania
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Każda z tych funkcji zwraca wartość wskazującą relację podciągów string1
i string2
, w następujący sposób.
Wartość zwracana | Relacja ciągu 1 do ciągu2 |
---|---|
< 0 | string1 mniejsze niż string2 |
0 | string1 identyczne z string2 |
> 0 | string1 większe niż string2 |
Każda z tych funkcji zwraca wartość _NLSCMPERROR
. Aby użyć polecenia _NLSCMPERROR
, dołącz dowolny ciąg. H lub MBSTRING.H. _wcsnicoll
może zakończyć się niepowodzeniem, jeśli kod string1
string2
lub zawiera kody szerokiego znaku poza domeną sekwencji sortowania. W przypadku wystąpienia _wcsnicoll
błędu może być ustawiona wartość errno
EINVAL
. Aby sprawdzić błąd wywołania _wcsnicoll
metody , ustaw wartość errno
0, a następnie sprawdź errno
po wywołaniu metody _wcsnicoll
.
Uwagi
Każda z tych funkcji wykonuje bez uwzględniania wielkości liter porównanie pierwszych count
znaków w string1
obiekcie i string2
zgodnie ze stroną kodową. Te funkcje powinny być używane tylko wtedy, gdy istnieje różnica między kolejnością zestawu znaków a kolejnością znaków leksykograficznych na stronie kodowej, a ta różnica jest interesująca dla porównania ciągów. Wersje tych funkcji bez sufiksu _l
używają bieżących ustawień regionalnych i strony kodowej. Wersje z sufiksem _l
są identyczne, z tą różnicą, że używają ustawień regionalnych przekazanych w zamian. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Wszystkie te funkcje weryfikują swoje parametry. Jeśli element string1
lub string2
jest wskaźnikiem o wartości null lub jeśli liczba jest większa niż INT_MAX
, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametru . Jeśli wykonanie jest dozwolone do kontynuowania, te funkcje zwracają _NLSCMPERROR
i ustawiają wartość errno
EINVAL
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
Procedura TCHAR.H | _UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsncicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_strnicoll , _strnicoll_l |
<string.h> |
_wcsnicoll , _wcsnicoll_l |
<wchar.h> lub <string.h> |
_mbsnicoll , _mbsnicoll_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
ustawienia regionalne
Manipulowanie ciągami
strcoll
, funkcje
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