_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Retorna o número de caracteres ou de bytes em uma contagem especificada.
Importante
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, e _mbsnccnt_l não podem ser usados em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /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 bytes a serem examinados em str.locale
Localidade a ser usada.
Valor de retorno
_mbsnbcnt e _mbsnbcnt_l retornam o número de bytes localizados no primeiro count de caracteres de multibyte de str. _mbsnccnt e _mbsnccnt_l retornam o número de caracteres localizados no primeiro count de bytes de str. Se um caractere NULO for encontrado antes que o exame de str conclua, será retornado o número de bytes ou caracteres encontrados antes do caractere NULO. Se str consistir em menos caracteres ou bytes que count, eles retornarão o número de caracteres ou bytes na cadeia de caracteres. Se count for menor que zero, retornará 0. Em versões anteriores, essas funções tinham um valor de retorno do tipo int em vez de size_t.
_strncnt retorna o número de caracteres nos primeiros bytes de count da cadeia de caracteres de byte único str. _wcsncnt retorna o número de caracteres nos primeiros caracteres largos de count da cadeia de caracteres largos str.
Comentários
_mbsnbcnt e _mbsnbcnt_l contam o número de bytes localizados no primeiro count de caracteres de multibyte de str. _mbsnbcnt e _mbsnbcnt_l substituem mtob e devem ser usados no lugar de mtob.
_mbsnccnt e _mbsnccnt_l contam o número de caracteres localizados no primeiro count de bytes de str. Se _mbsnccnt e _mbsnccnt_l encontrarem um NULL no segundo byte de um caractere de byte duplo, o primeiro byte também será considerado NULL e não será incluído no valor de contagem retornado. _mbsnccnt e _mbsnccnt_l substituem btom e devem ser usados no lugar de btom.
Se str for um ponteiro nulo ou se count for 0, essas funções chamarão o manipulador de parâmetro inválido, conforme descrito em Validação do parâmetro, errno é definido como EINVAL, a função retorna 0.
O valor de saída é afetado pela configuração da categoria LC_CTYPE de localidade. Para obter mais informações, consulte setlocale. As versões dessas funções sem o sufixo _l usam a localidade atual para esse comportamento dependente da localidade; as versões com o sufixo _l são idênticas, exceto que elas usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.
Mapeamentos da rotina de texto genérico
Rotina |
_UNICODE e _MBCS não definidos |
_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 sobre compatibilidade, consulte Compatibilidade.
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 chamadas de plataformas.
Consulte também
Referência
Manipulação da cadeia de caracteres (CRT)