div
eof
Развернуть Свернуть
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала
Эта тема еще не получила оценку - Оценить эту тему

_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");
}
The first 10 characters are single-byte.

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

Была ли вам полезна эта информация?
(1500 символов осталось)

Добавления сообщества

ДОБАВИТЬ
Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
© 2013 Microsoft. Все права защищены.