_stricoll
, , _wcsicoll
, _mbsicoll
, _stricoll_l
, , _wcsicoll_l
_mbsicoll_l
Porównuje ciągi przy użyciu informacji specyficznych dla ustawień regionalnych.
Ważne
_mbsicoll
nie można jej _mbsicoll_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 _stricoll(
const char *string1,
const char *string2
);
int _wcsicoll(
const wchar_t *string1,
const wchar_t *string2
);
int _mbsicoll(
const unsigned char *string1,
const unsigned char *string2
);
int _stricoll_l(
const char *string1,
const char *string2,
_locale_t locale
);
int _wcsicoll_l(
const wchar_t *string1,
const wchar_t *string2,
_locale_t locale
);
int _mbsicoll_l(
const unsigned char *string1,
const unsigned char *string2,
_locale_t locale
);
Parametry
string1
, string2
Ciągi zakończone wartością null do porównania.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Każda z tych funkcji zwraca wartość wskazującą relację z string2
elementem string1
w następujący sposób.
Wartość zwracana | Relacja z string1 string2 |
---|---|
< 0 | string1 mniejsze niż string2 |
0 | string1 identyczne z string2 |
> 0 | string1 większe niż string2 |
_NLSCMPERROR |
Wystąpił błąd. |
Każda z tych funkcji zwraca wartość _NLSCMPERROR
. Aby użyć _NLSCMPERROR
polecenia , dołącz ciąg.h> <lub <mbstring.h>. _wcsicoll
może zakończyć się niepowodzeniem, jeśli kod string1
string2
lub zawiera kody szerokiego znaku poza domeną sekwencji sortowania. W przypadku wystąpienia _wcsicoll
błędu może być ustawiona wartość errno
EINVAL
. Aby sprawdzić błąd wywołania _wcsicoll
metody , ustaw wartość errno
0, a następnie sprawdź errno
po wywołaniu metody _wcsicoll
.
Uwagi
Każda z tych funkcji wykonuje porównanie string1
bez uwzględniania wielkości liter i string2
zgodnie ze stroną kodową, która jest obecnie używana. 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 bieżącej stronie kodowej, a ta różnica jest interesująca dla porównania ciągów.
_stricmp
różni się od _stricoll
tego, że _stricmp
na porównanie ma wpływ LC_CTYPE
, natomiast _stricoll
porównanie jest zgodne z LC_CTYPE
kategoriami i LC_COLLATE
ustawień regionalnych. Aby uzyskać więcej informacji na LC_COLLATE
temat kategorii, zobacz setlocale
i Kategorie ustawień regionalnych. Wersje tych funkcji bez sufiksu _l
używają bieżących ustawień regionalnych; 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
są NULL
wskaźnikami, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. 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 |
---|---|---|---|
_tcsicoll |
_stricoll |
_mbsicoll |
_wcsicoll |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_stricoll , _stricoll_l |
<string.h> |
_wcsicoll , _wcsicoll_l |
<wchar.h>, <string.h> |
_mbsicoll , _mbsicoll_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