_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Zwraca liczbę znaków lub liczbę bajtów w ciągu określonej liczby.
![]() |
---|
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt i _mbsnccnt_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. |
size_t _strncnt(
const char *str,
size_t count
);
size_t _wcsncnt(
const wchar_t *str,
size_t count
);
size_t _mbsnbcnt(
const unsigned char *str,
size_t count
);
size_t _mbsnbcnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
size_t _mbsnccnt(
const unsigned char *str,
size_t count
);
size_t _mbsnccnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
Parametry
str
Ciąg do badania.count
Liczba znaków lub liczba bajtów do badania w str.locale
Ustawienia regionalne do użycia.
Wartość zwracana
_mbsnbcnt i _mbsnbcnt_l zwracają liczbę bajtów znalezionych w pierwszym count znaków wielobajtowych str._mbsnccnt i _mbsnccnt_l zwracają liczbę znaków znalezionych w pierwszym count bajtów str.Jeśli znak NULL zostanie osiągnięty zanim badanie str zostanie zakończone, zwracają one liczbę bajtów lub znaków znalezionych przed znakiem NULL.Jeśli str składa się z mniej niż count znaków lub liczby bajtów, zwracają liczbę znaków lub liczbę bajtów w ciągu.Jeśli count jest mniejszy od zera, zwracają 0.W poprzednich wersjach te funkcje miały wartość zwrotu typu int zamiast size_t.
_strncnt zwraca liczbę znaków w pierwszym bajcie count ciągu jednobajtowego str._wcsncnt zwraca liczbę znaków w pierwszym count znaków dwubajtowych w ciągu znaków dwubajtowych str.
Uwagi
_mbsnbcnt i _mbsnbcnt_l zliczają liczbę bajtów znalezionych w pierwszym count znaków wielobajtowych str._mbsnbcnt i _mbsnbcnt_l zastępują mtob i powinny być używane zamiast mtob.
_mbsnccnt i _mbsnccnt_l zliczają liczbę znaków znalezionych w pierwszym count bajtów str.Jeśli _mbsnccnt i _mbsnccnt_l napotkają wartość NULL w drugim bajcie znaków dwubajtowych, pierwszy bajt jest również uważany za wartość NULL i nie jest włączony do wartości liczby zwracanej._mbsnccnt i _mbsnccnt_l zastępuje btom i powinny być używane zamiast btom.
Jeśli str jest wskaźnikiem typu null lub jest count wynosi 0, funkcje te wywołują procedurę obsługi nieprawidłowego parametru, zgodnie z opisem Sprawdzanie poprawności parametru, errno ustawiono na EINVAL, a funkcja zwraca 0.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.
Rutynowe mapowania zwykłego tekstu
Procedura |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsnbcnt |
_strncnt |
_mbsnbcnt |
_wcsncnt |
_tcsnccnt |
_strncnt |
_mbsnbcnt |
n/a |
_wcsncnt |
n/a |
n/a |
_mbsnbcnt |
_wcsncnt |
n/a |
n/a |
_mbsnccnt |
n/a |
n/a |
_mbsnbcnt_l |
_mbsnccnt_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_mbsnbcnt |
<mbCiąg.h> |
_mbsnbcnt_l |
<mbCiąg.h> |
_mbsnccnt |
<mbCiąg.h> |
_mbsnccnt_l |
<mbCiąg.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Aby uzyskać więcej informacji na temat zgodności – zobacz: Zgodność.
Przykład
// crt_mbsnbcnt.c
#include <mbstring.h>
#include <stdio.h>
int main( void )
{
unsigned char str[] = "This is a multibyte-character string.";
unsigned int char_count, byte_count;
char_count = _mbsnccnt( str, 10 );
byte_count = _mbsnbcnt( str, 10 );
if ( byte_count - char_count )
printf( "The first 10 characters contain %d multibyte characters\n", char_count );
else
printf( "The first 10 characters are single-byte.\n");
}
Dane wyjściowe
The first 10 characters are single-byte.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardową funkcję C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy.