Udostępnij za pośrednictwem


_stricoll, , _wcsicoll, _mbsicoll, _stricoll_l, , _wcsicoll_l_mbsicoll_l

Porównuje ciągi przy użyciu informacji specyficznych dla ustawień regionalnych.

Ważne

_mbsicollnie 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 string2elementem string1 w następujący sposób.

Wartość zwracana Relacja z string1string2
< 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ć _NLSCMPERRORpolecenia , 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 _wcsicollmetody , 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 string2NULL 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