_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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.