strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Porównuje ciągi przy użyciu bieżących ustawień regionalnych lub określonej LC_COLLATE kategorii stanu konwersji.

Ważne

_mbscollnie można jej _mbscoll_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 strcoll(
   const char *string1,
   const char *string2
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbscoll_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

Każda z tych funkcji zwraca _NLSCMPERROR błąd. Aby użyć polecenia _NLSCMPERROR, dołącz dowolny ciąg. H lub MBSTRING.H. wcscoll może zakończyć się niepowodzeniem, jeśli element string1 lub string2 zawiera NULL kody szerokiego znaku poza domeną sekwencji sortowania. W przypadku wystąpienia wcscoll błędu może być ustawiona wartość errnoEINVAL. Aby sprawdzić błąd wywołania wcscollmetody , ustaw wartość errno 0, a następnie sprawdź errno po wywołaniu metody wcscoll.

Uwagi

Każda z tych funkcji wykonuje porównanie string1 z uwzględnieniem 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.

Wszystkie te funkcje weryfikują swoje parametry. Jeśli element string1 lub string2 jest wskaźnikiem o wartości null lub jest count większy 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ść errnoEINVAL.

Porównanie dwóch ciągów jest operacją zależną od ustawień regionalnych, ponieważ poszczególne ustawienia regionalne mają różne reguły porządkowania znaków. Wersje tych funkcji bez _l sufiksu używają ustawień regionalnych bieżącego wątku dla tego zachowania zależnego od ustawień regionalnych; wersje z _l sufiksem są identyczne z odpowiednią funkcją bez sufiksu, z tą różnicą, że używają ustawień regionalnych przekazanych jako parametr zamiast bieżących ustawień regionalnych. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

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 Zdefiniowane _UNICODE Zdefiniowane
_tcscoll strcoll _mbscoll wcscoll

Wymagania

Procedura Wymagany nagłówek
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.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