Partilhar via


_mbsnbcat, _mbsnbcat_l

Acrescenta, no máximo, os primeiros n bytes de uma cadeia de caracteres multibyte a outra cadeia de caracteres. Versões mais seguras dessas funções estão disponíveis; confira _mbsnbcat_s, _mbsnbcat_s_l.

Importante

Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

unsigned char *_mbsnbcat(
   unsigned char *dest,
   const unsigned char *src,
   size_t count
);
unsigned char *_mbsnbcat_l(
   unsigned char *dest,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char *_mbsnbcat(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count
); // C++ only
template <size_t size>
unsigned char *_mbsnbcat_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

Parâmetros

dest
Cadeia de caracteres de destino de caractere multibyte terminada em nulo.

src
Cadeia de caracteres de origem de caractere multibyte terminada em nulo.

count
Número de bytes do src para acrescentar a dest.

locale
Localidade a usar.

Valor retornado

_mbsnbcat retorna um ponteiro para a cadeia de caracteres de destino. Nenhum valor retornado é reservado para indicar um erro.

Comentários

A função _mbsnbcat acrescenta, no máximo, os primeiros count bytes de src para dest. Se o byte imediatamente antes do caractere nulo em dest for um byte inicial, o byte inicial de src substituirá esse byte inicial. Caso contrário, o byte inicial de src substitui o caractere nulo de terminação de dest. Se aparecer um byte nulo no src antes de count bytes serem acrescentados, _mbsnbcat acrescentará todos os bytes de src, até o caractere nulo. Se count for maior que o comprimento de src, o comprimento de src será usado no lugar de count. A cadeia de caracteres resultante é terminada com um caractere nulo. Se ocorrer cópia entre cadeias de caracteres que se sobrepõem, o comportamento será indefinido.

O valor de saída é afetado pela configuração da categoria LC_CTYPE da localidade. Para obter mais informações, consulte setlocale. A versão _mbsnbcat da função usa a localidade atual desse comportamento dependente da localidade. A versão _mbsnbcat_l é idêntica, exceto por usar o parâmetro de localidade passado em seu lugar. Para obter mais informações, consulte Localidade.

Observação de Segurança Use uma cadeia de caracteres terminada em nulo. A cadeia de caracteres terminada em nulo não deve exceder o tamanho do buffer de destino. Para obter mais informações, confira Como evitar sobrecargas de buffer.

Se dest ou src for NULL, a função gerará um erro de parâmetro inválido, conforme descrito em Validação de parâmetro. Se o erro for tratado, a função retornará EINVAL e definirá errno como EINVAL.

No C++, essas funções têm sobrecargas de modelo que invocam os equivalentes mais novos e seguros dessas funções. Para obter mais informações, consulte Sobrecargas de modelo seguras.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsncat strncat _mbsnbcat wcsncat
_tcsncat_l _strncat_l _mbsnbcat_l _wcsncat_l

Requisitos

Rotina Cabeçalho necessário
_mbsnbcat <mbstring.h>
_mbsnbcat_l <mbstring.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Manipulação de cadeia de caracteres
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, , _mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, , _mbsncat_l
_mbsnbcat_s, _mbsnbcat_s_l