_strncoll
, , _wcsncoll
, _mbsncoll
, _strncoll_l
, , _wcsncoll_l
_mbsncoll_l
Porównuje ciągi przy użyciu informacji specyficznych dla ustawień regionalnych.
Ważne
_mbsncoll
nie można jej _mbsncoll_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 _strncoll(
const char *string1,
const char *string2,
size_t count
);
int _wcsncoll(
const wchar_t *string1,
const wchar_t *string2,
size_t count
);
int _mbsncoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _strncoll_l(
const char *string1,
const char *string2,
size_t count,
_locale_t locale
);
int _wcsncoll_l(
const wchar_t *string1,
const wchar_t *string2,
size_t count,
_locale_t locale
);
int _mbsncoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Parametry
string1
, string2
Ciągi zakończone wartością null do porównania.
count
Liczba znaków do porównania.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Każda z tych funkcji zwraca wartość, która wskazuje relację podciągów i string1
string2
, w następujący sposób.
Wartość zwracana | Relacja z string1 string2 |
---|---|
< 0 | string1 wartość jest mniejsza niż string2 . |
0 | string1 jest identyczny z string2 . |
> 0 | string1 wartość jest większa niż string2 . |
Każda z tych funkcji zwraca wartość _NLSCMPERROR
. Aby użyć _NLSCMPERROR
polecenia , dołącz ciąg.h lub MBSTRING.h. _wcsncoll
może zakończyć się niepowodzeniem, jeśli kod string1
string2
lub zawiera kody szerokoznaczne, które znajdują się poza domeną sekwencji sortowania. W przypadku wystąpienia _wcsncoll
błędu może być ustawiona wartość errno
EINVAL
. Aby sprawdzić błąd podczas wywołania _wcsncoll
metody , ustaw errno
wartość 0, a następnie sprawdź errno
po wywołaniu _wcsncoll
.
Uwagi
Każda z tych funkcji wykonuje porównanie z uwzględnieniem wielkości liter pierwszych count
znaków w string1
systemach i string2
, zgodnie ze stroną kodową, która jest obecnie używana. Użyj tych funkcji tylko wtedy, gdy istnieje różnica między kolejnością zestawu znaków a kolejnością znaków leksykograficznych na stronie kodowej, a gdy ta różnica ma znaczenie dla porównania ciągów. Kolejność zestawu znaków jest zależna od ustawień regionalnych. Wersje tych funkcji, które nie mają sufiksu _l
, używają bieżących ustawień regionalnych, ale wersje, które mają _l
sufiks, używają ustawień regionalnych, które są przekazywane. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
Wszystkie te funkcje weryfikują swoje parametry. string1
Jeśli element lub string2
jest wskaźnikiem o wartości null lub count
jest 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ść 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 |
---|---|---|---|
_tcsnccoll |
_strncoll |
_mbsncoll |
_wcsncoll |
_tcsncoll |
_strncoll |
_mbsnbcoll |
_wcsncoll |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_strncoll , _strncoll_l |
<string.h> |
_wcsncoll , _wcsncoll_l |
<wchar.h> lub <string.h> |
_mbsncoll , _mbsncoll_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