_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