_mbsnbcat_s
, _mbsnbcat_s_l
Acrescenta a uma cadeia de caracteres multibyte, no máximo, os primeiros n bytes de outra cadeia de caracteres multibyte. Essas funções são versões do , _mbsnbcat_l
que têm aprimoramentos de_mbsnbcat
segurança, conforme descrito em Recursos de segurança no CRT.
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
errno_t _mbsnbcat_s(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count
);
errno_t _mbsnbcat_s_l(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_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.
sizeInBytes
O tamanho do buffer dest
em bytes.
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
Zero se for bem-sucedido, caso contrário, um código de erro.
Condições de erro
dest |
sizeInBytes |
src |
Valor retornado |
---|---|---|---|
NULL |
any | qualquer | EINVAL |
Qualquer | <= 0 | any | EINVAL |
Qualquer | any | NULL |
EINVAL |
Se ocorrer alguma das condições de erro, 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
.
Comentários
A função _mbsnbcat_s
acrescenta a dest
, no máximo, os primeiros count
bytes de src
. Se o byte imediatamente anterior ao caractere nulo em dest
for um byte inicial, ele será substituído pelo byte inicial de src
. 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_s
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 por 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
. As versões dessas funções são idênticas, exceto que aquelas que não têm o sufixo _l
usam a localidade atual e as com um sufixo _l
usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.
No C++, o uso dessas funções é simplificado por sobrecargas de modelo. As sobrecargas podem inferir o comprimento do buffer automaticamente, o que elimina a necessidade de especificar um argumento de tamanho, e podem usar automaticamente as funções mais recentes e mais seguras para substituir funções mais antigas e menos seguras. Para obter mais informações, consulte Sobrecargas de modelo seguras.
As versões de biblioteca de depuração dessas funções preenchem o buffer com 0xFE. Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold
.
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_s |
strncat_s |
_mbsnbcat_s |
wcsncat_s |
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_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
_mbsnbcpy_s
, _mbsnbcpy_s_l
_mbsnbset
, _mbsnbset_l
strncat
, _strncat_l
, wcsncat
, _wcsncat_l
, _mbsncat
, , _mbsncat_l
strncat_s
, _strncat_s_l
, wcsncat_s
, _wcsncat_s_l
, _mbsncat_s
, , _mbsncat_s_l