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ż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
Zobacz też
Informacje
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l