Udostępnij za pośrednictwem


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

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

Ważna uwagaWażne

_mbscoll i _mbscoll_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /ZW.

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ą, związek string1 do string2*,* w następujący sposób.

Wartość zwrócona

Relacja ciąg1 do ciąg2

< 0

string1 mniejszy niż string2

0

string1 identyczne z string2

> 0

string1 większy niż string2

Każda z tych funkcji zwraca _NLSCMPERROR w błędzie.Aby użyć _NLSCMPERROR włącz STRING.H lub MBSTRING.H.wcscoll może się nie powieść, jeśli string1 lub string2 wynosi zero lub zawiera kody znaków dwubajtowych spoza domeny sekwencji sortowania.Gdy wystąpi błąd, wcscoll może ustawić errno jako EINVAL.Aby sprawdzić pod kątem wystąpienia błędu w wywołaniu wcscoll, ustaw errno na wartość 0, a następnie sprawdź errno po wywołaniu wcscoll.

Uwagi

Każda z tych funkcji wykonuje porównania z uwzględnieniem wielkości liter string1 i string2 zgodnie z aktualnie używaną stroną kodową.Te funkcje powinny być używane tylko wtedy, gdy istnieje różnica pomiędzy kolejnością zestawu znaków i kolejnością znaków leksykograficznych w bieżącej stronie kodowej, a różnica ta ma znaczenie dla porównania ciągu.

Wszystkie te funkcje sprawdzają poprawność swoich parametrów.Jeśli string1 lub string2 jest wskaźnikiem typu null, lub count jest większa od INT_MAX, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru .Jeśli wykonanie może być kontynuowane, te funkcje zwracają _NLSCMPERROR i ustawiają errno na EINVAL.

Porównanie dwóch ciągów jest operacją zależną od ustawień lokalnych, od każdego ustawienia ma różne reguły do ustalania kolejności znaków.Wersje tej funkcje bez _l sufiksa używa bieżącego wątku tego zachowania zależnie od ustawień regionalnych; wersje z _l sufiksem są identyczne z odpowiednimi funkcjami bez przyrostka, z tym wyjątkiem, że używają one ustawień regionalnych przekazanych jako parametr zamiast bieżących ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.

Rutynowe mapowania zwykłego tekstu

Procedura Tchar.h

_UNICODE & _MBCS nie zdefiniowano

_MBCS zdefiniowano

_UNICODE zdefiniowany

_tcscoll

strcoll

_mbscoll

wcscoll

Wymagania

Procedura

Wymagany nagłówek

strcoll

<Ciąg>

wcscoll

<wchar.h>, <string.h>

_mbscoll, _mbscoll_l

<mbCiąg.h>

_strcoll_l

<Ciąg>

_wcscoll_l

<wchar.h>, <string.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność.

Odpowiednik w programie .NET Framework

Porównaj system ciągów

Zobacz też

Informacje

Regionalne

Manipulowanie ciągami (CRT)

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