_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Возвращает число символов или байтов внутри квадратных числа.

Важное примечаниеВажно

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt и _mbsnccnt_l нельзя использовать в приложениях, выполняемых в среды выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /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
);

Параметры

  • str
    Строка, которую требуется проверить.

  • count
    Число символов или байтов, которые будут проверять в str.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

_mbsnbcnt и _mbsnbcnt_l возвращают количество байтов, содержащиеся в первом count многобайтовых символов str._mbsnccnt и _mbsnccnt_l возвращают число символов, содержащиеся в первом count байтов str.Если нуль-символ встречается, прежде чем рассмотрение str завершена, они возвращают число байт или символов, используемых перед нулем-символом.Если str состоит из двух символов или count байтов, они возвращают число символов или байтов в строке.Если значение count меньше нуля, то они возвращают 0.В предыдущих версиях, эти функции будут возвращаемого значения типа int вместо size_t.

_strncnt возвращает число символов в первых двух байтах count однобайтовой строки str._wcsncnt возвращает число символов в первых символах расширенных функций count является str.

Заметки

_mbsnbcnt и _mbsnbcnt_l подсчитывают количество байтов, содержащиеся в первом count многобайтовых символов str._mbsnbcnt и _mbsnbcnt_l замените mtob и должны использоваться вместо mtob.

_mbsnccnt и _mbsnccnt_l подсчитывают количество символов, содержащиеся в первом count байтов str.Если _mbsnccnt и _mbsnccnt_l обнаруживается NULL во втором байтом символа состоит из двух байтов, то предполагается, что будет NULL и не включается первый байт также возвращенного числа значение._mbsnccnt и _mbsnccnt_l замените btom и должны использоваться вместо btom.

Если указатель str или count равно 0, то эти функции вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров, errno имеет значение EINVAL, и функция возвращает 0.

Выходное значение зависеть на параметром параметра категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale.Версии этих функций без суффикса _l используют текущий языковой стандарт для данной функциональности, зависящей от языкового стандарта; версии с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта.Для получения дополнительной информации см. Языковой стандарт.

Универсальное текстовое сопоставление функций

Функция

Не указаны _UNICODE и _MBCS

определенные _MBCS

Определение _UNICODE

_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

Требования

Функция

Требуемый заголовок

_mbsnbcnt

<mbstring.h>

_mbsnbcnt_l

<mbstring.h>

_mbsnccnt

<mbstring.h>

_mbsnccnt_l

<mbstring.h>

_strncnt

<tchar.h>

_wcsncnt

<tchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

// 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");
}

Output

The first 10 characters are single-byte.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Управление строками (CRT)

Языковой стандарт

Интерпретация последовательностей многобайтового символов

_mbsnbcat, _mbsnbcat_l