Compartilhar via


_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

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

Observação importanteImportante

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, e _mbsnccnt_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /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 ); 

Parâmetros

  • str
    Cadeia de caracteres a ser examinada.

  • count
    Número de caracteres ou de bytes a ser examinados strem.

  • locale
    A localidade usar.

Valor de retorno

_mbsnbcnt e _mbsnbcnt_l retorna o número de bytes localizados em primeiro count de caracteres de multibyte de str._mbsnccnt e _mbsnccnt_l retorna o número de caracteres localizadas em primeiro count de bytes de str.Se um caractere NULO é encontrado antes que o exame de str terminar, retorna o número de bytes ou caracteres encontrado antes do caractere NULO.Se str consiste em menos caracteres ou bytes de count , retorna o número de caracteres ou de bytes na cadeia de caracteres.Se count é menor que zero, retornará 0.Em versões anteriores, essas funções tivessem um valor de retorno do tipo int em vez de size_t.

_strncnt retorna o número de caracteres em bytes do primeiro count de cadeia de caracteres de byte único str._wcsncnt retorna o número de caracteres nos primeiros caracteres largos de count de cadeia de caracteres strde largo- caractere.

Comentários

_mbsnbcnt e _mbsnbcnt_l contam o número de bytes localizados em primeiro count de caracteres de multibyte de str._mbsnbcnt e _mbsnbcnt_l substituem mtob e devem ser usados em vez disso mtob.

_mbsnccnt e _mbsnccnt_l contam o número de caracteres localizadas em primeiro count de bytes de str.Se _mbsnccnt e _mbsnccnt_l encontra um NULL no segundo bytes de um caractere de byte duplo, o primeiro byte também é considerado ser NULL e não incluído no valor de contagem retornado._mbsnccnt e _mbsnccnt_l substituem btom e devem ser usados em vez disso btom.

Se str é um ponteiro é zero ou count é 0, essas funções chamam o manipulador inválido de parâmetros como descrito em Validação de parâmetro, errno é definido como EINVAL, e retorna 0 da função.

O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale para mais informações.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.

Mapeamentos da rotina de Genérico- texto

Rotina

_UNICODE e não definidos _MBCS

_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 mais informações, consulte Compatibilidade de 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.

Equivalência do .NET Framework

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

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

Localidade

Interpretação de seqüências de caracteres Multibyte

_mbsnbcat, _mbsnbcat_l