Udostępnij za pośrednictwem


_strncoll, , _wcsncoll, _mbsncoll, _strncoll_l, , _wcsncoll_l_mbsncoll_l

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

Ważne

_mbsncollnie 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 string1string2
< 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ć _NLSCMPERRORpolecenia , 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 _wcsncollmetody , 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