Partilhar via


_mbsnbcat_s, _mbsnbcat_s_l

Acrescenta, no máximo, a primeira n bytes de uma seqüência de caractere de multibyte para outro. Essas são sistema autônomo versões de _mbsnbcat, _mbsnbcat_l com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no CRT.

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
    Seqüência de caracteres terminada com caractere nulo destino caracteres multibyte.

  • sizeInBytes
    dimensionar do dest buffer em bytes.

  • src
    Seqüência de caracteres terminada com caractere nulo de fonte de caracteres multibyte.

  • Count
    Número de bytes de src Para acrescentar a dest.

  • locale
    Localidade usar.

Valor de retorno

Zero se for bem-sucedida; caso contrário, um código de erro.

Condições de erro

Dest

sizeInBytes

src

Valor de Retorno

NULL

any

any

EINVAL

Qualquer

<= 0

any

EINVAL

Qualquer

any

NULL

EINVAL

Se ocorrer qualquer uma das condições de erro acima, a função gera um erro de parâmetro inválido sistema autônomo descrito em Validação de parâmetro. Se o erro é manipulado, a função retornará EINVAL e conjuntos errno para EINVAL.

Comentários

The _mbsnbcat_s função anexa, no máximo, o primeiro count bytes de src para dest. Se o byte imediatamente antes do caractere nulo em dest é um byte inicial, o byte inicial de src substitui 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 em src antes de count bytes são acrescentados, _mbsnbcat_s acrescenta todos os bytes de src, até o caractere nulo. If count é maior do que o comprimento de src, o tamanho de src usado no lugar de count. A seqüência de caracteres resultante é finalizada com um caractere nulo.Se copiar ocorre entre cadeias de caracteres que se sobrepõem, o comportamento é indefinido.

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.

No C++, usando essas funções é simplificado pelo modelo sobrecargas; sobrecargas de podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de dimensionar) e eles podem substituir automaticamente funções não seguras, mais antigas, com suas contrapartes mais recentes e seguras.For more information, see Proteger overloads de modelo.

As versões de depurar dessas funções primeiro preenchem o buffer com 0xFD.Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsncat

strncat

_mbsnbcat_s

wcsncat

_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 mais informações de compatibilidade, consulte Compatibilidade na introdução.

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)

_mbsnbcmp, _mbsnbcmp_l

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt

_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