_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)