Compartilhar via


_mbsnbcat_s, _mbsnbcat_s_l

Anexa a uma cadeia de caracteres multibyte, no máximo, os primeiros bytes de n de outra cadeia de caracteres de multibyte- caractere. Essas são as versões de _mbsnbcat, _mbsnbcat_l que têm os aprimoramentos de segurança, conforme descrito em Recursos de segurança no CRT.

Importante

Não é possível usar essa API em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.

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 com caractere multibyte terminado com Null.

  • sizeInBytes
    Tamanho do buffer de dest em bytes.

  • src
    Cadeia de caracteres de origem com caractere multibyte terminado com Null.

  • Count
    Número de bytes de src a serem acrescentados a dest.

  • locale
    Localidade a ser usada.

Valor de retorno

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

Condições de erro

Dest

sizeInBytes

src

Valor de retorno

NULL

any

any

EINVAL

Alguns

<= 0

any

EINVAL

Alguns

any

NULL

EINVAL

Se qualquer uma das condições de erro ocorrer, a função gerencie um erro inválido do parâmetro, conforme descrito em Validação do parâmetro. Se o erro for tratado, a função retornará EINVAL e definirá errno como EINVAL.

Comentários

A função de _mbsnbcat_s anexa a dest, no máximo, os primeiros bytes de count de src. Se o byte que precede imediatamente o caractere nulo em dest é um byte inicial, ele é substituído por byte inicial de src. Caso contrário, o byte inicial de src substituirá o caractere nulo de terminação de dest. Se um byte nulo é exibido em src antes que os bytes de count sejam adicionados, _mbsnbcat_s acrescentará todos os bytes de src, até o caractere nulo. Se count for maior que o tamanho de src, o tamanho de src será usado no lugar de count. A cadeia de caracteres resultante é finalizada por um caractere nulo. Se a cópia for feita 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 de localidade. Para obter mais informações, consulte setlocale, _wsetlocale. As versões dessas funções são idênticas, exceto aquelas que não têm o sufixo _l usam a localidade atual e aquelas que têm o sufixo _l, ao contrário, usam o parâmetro de localidade que foi informado. Para obter mais informações, consulte Localidade.

Em C++, o uso dessas funções é simplificado por sobrecargas do modelo; as sobrecargas pode deduzir o comprimento do buffer automaticamente e assim eliminar a necessidade de especificar um argumento de tamanho, e podem usar automaticamente o mais novas funções, mais seguro para substituir mais antigos, funções de menos segura. Para obter mais informações, consulte Sobrecargas de modelo seguras.

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

Mapeamentos da rotina de texto genérico

Rotina Tchar.h

_UNICODE e _MBCS não definidos

_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.

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 invocação de plataforma.

Consulte também

Referência

Manipulação da cadeia de caracteres (CRT)

_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