Compartilhar via


_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt

Retorna o número de caracteres ou bytes dentro de uma contagem fornecida.

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
);
size_t _strncnt(
   const char *str,
   size_t count
);
size_t _wcsncnt(
   const wchar_t *str,
   size_t count
);

Parâmetros

  • str
    Seqüência de caracteres a ser examinado.

  • count
    Número de caracteres ou bytes a ser examinado em str.

  • locale
    Localidade usar.

Valor de retorno

_mbsnbcnt e _mbsnbcnt_l retornar o número de bytes encontrada no primeiro count de caracteres multibyte de str. _mbsnccnt e _mbsnccnt_l retornar o número de caracteres encontrados no primeiro count bytes de str. Se for encontrado um caractere nulo antes do exame de str foi concluída, eles retornar o número de bytes ou caracteres encontrados antes do caractere nulo. If str consiste em menos de count caracteres ou bytes, eles retornar o número de caracteres ou bytes na seqüência de caracteres. If count é menor que zero, elas retornam 0. Em versões anteriores, essas funções tem um valor retornado do tipo int em vez de size_t.

_strncnt Retorna o número de caracteres no primeiro count bytes da seqüência de caracteres de byte único str. _wcsncnt Retorna o número de caractere no primeiro count caractere largos da seqüência de caractere largos str.

Comentários

_mbsnbcnt e _mbsnbcnt_l contar o número de bytes encontrada no primeiro count de caracteres multibyte de str. _mbsnbcnt e _mbsnbcnt_l Substituir mtob e deve ser usado no lugar de mtob.

_mbsnccnt e _mbsnccnt_l contar o número de caracteres encontrados no primeiro count bytes de str. If _mbsnccnt e _mbsnccnt_l encontrar um NULL no segundo byte de um caractere de byte duplo, o primeiro byte também é considerado como nulo e não está incluído no valor de contagem retornada. _mbsnccnt e _mbsnccnt_l Substituir btom e deve ser usado no lugar de btom.

If str é um ponteiro nulo ou está count é 0, essas funções chamar o manipulador de parâmetro inválido conforme descrito em Validação de parâmetro, errno é definido sistema autônomo EINVAL, e a função retornará 0.

O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações.As versões dessas funções sem o _l sufixo use a localidade corrente para esse comportamento dependente de localidade; as versões com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez disso. For more information, see Localidade.

Mapeamentos de rotina de texto genérica

Rotina

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_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

Requisitos

Rotina

Cabeçalho necessário

_mbsnbcnt

<mbstring.h>

_mbsnbcnt_l

<mbstring.h>

_mbsnccnt

<mbstring.h>

_mbsnccnt_l

<mbstring.h>

_strncnt

<tchar.h>

_wcsncnt

<tchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

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

Saída

The first 10 characters are single-byte.

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

Localidade

Interpretação de seqüências de caractere multibyte

_mbsnbcat, _mbsnbcat_l