Udostępnij za pośrednictwem


_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Zwraca liczbę znaków lub liczbę bajtów w ciągu podanej liczby.

Ważna uwagaWażne

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, i _mbsnccnt_l nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsł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 rozpatrzenia.

  • count
    Liczba znaków lub bajtów do badania w str.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

_mbsnbcnti _mbsnbcnt_l zwraca liczbę bajtów, które znaleziono w pierwszym count wielobajtowych znaków z str._mbsnccnti _mbsnccnt_l zwraca liczbę znaków, które znaleziono w pierwszym count bajtów str.Jeśli napotka znak NULL przed badaniem z str została zakończona, zwracania liczby bajtów lub znaków znalezione przed tym znakiem NULL.Jeśli str składa się z mniej niż count znaków lub bajtów, one zwrócić liczbę znaków lub liczbę bajtów w ciągu.Jeśli count jest mniejsza niż zero, zwracały 0.We wcześniejszych wersjach, tych funkcji była zwracana wartość wynosząca typu int a nie size_t.

_strncntZwraca liczbę znaków w pierwszym count bajtów ciąg znaków jednobajtowych str._wcsncntZwraca liczbę znaków w pierwszym count szerokości znaków łańcucha szerokich znaków str.

Uwagi

_mbsnbcnti _mbsnbcnt_l określić liczbę bajtów, które znaleziono w pierwszym count wielobajtowych znaków z str._mbsnbcnti _mbsnbcnt_l zastąpić mtob i powinny być używane zamiast mtob.

_mbsnccnti _mbsnccnt_l określić liczbę znaków, które znaleziono w pierwszym count bajtów str.Jeśli _mbsnccnt i _mbsnccnt_l napotkała wartość NULL w drugi bajt znaków dwubajtowych, pierwszy bajt jest także traktowana jako wartość NULL i nie znajduje się w wartości liczby zwracanych._mbsnccnti _mbsnccnt_l zastąpić btom i powinny być używane zamiast btom.

Jeśli str jest pusty wskaźnik lub jest count wynosi 0, funkcje te wywołuje procedurę obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru, errno jest ustawiona na EINVAL, a funkcja zwraca 0.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji.Wersje te funkcje, bez _l sufiks Użyj bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; wersje z _l sufiks są identyczne z tym, że używają zamiast przekazany parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_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

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbcnt

<mbstring.h>

_mbsnbcnt_l

<mbstring.h>

_mbsnccnt

<mbstring.h>

_mbsnccnt_l

<mbstring.h>

_strncnt

<tchar.h>

_wcsncnt

<tchar.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

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ływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

Ustawienia regionalne

Interpretacja sekwencje znaków wielobajtowych

_mbsnbcat, _mbsnbcat_l