_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Zwraca liczbę znaków lub liczbę bajtów w ciągu podanej liczby.
Waż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.