Compartilhar via


_mbsnbcpy, _mbsnbcpy_l

Copia n bytes de uma cadeia de caracteres para uma cadeia de caracteres de destino. Versões mais seguras dessas funções são disponível- consulte _mbsnbcpy_s, _mbsnbcpy_s_l.

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.

unsigned char * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Parâmetros

  • strDest
    Destino da cadeia de caracteres seja copiada.

  • strSource
    Cadeia de caracteres a ser copiada.

  • count
    Número de bytes a serem copiados.

  • locale
    Localidade a ser usada.

Valor de retorno

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

Comentários

A função _mbsnbcpy copia count bytes de strSource para strDest. Se count excede o tamanho de strDest ou as cadeias de caracteres de origem e de destino se sobrepõem, o comportamento de _mbsnbcpy é indefinido.

Se strSource ou strDest for um ponteiro nulo, essa função invoca o manipulador inválido do parâmetro como descrito em Validação do parâmetro. Se a execução puder continuar, a função retornará NULL e definirá errno como EINVAL.

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 uso do sufixo de _l a localidade atual e as versões com o sufixo de _l usar o parâmetro de localidade que é passado. Para obter mais informações, consulte Localidade.

Observação de segurançaObservação de segurança

Essas funções podem ser vulneráveis às ameaças de saturação de buffer.As que haja excesso de buffer podem ser usadas para executar códigos arbitrários do invasor, o que pode causar uma despropositado elevação de privilégios e comprometer o sistema.Para obter mais informações, consulte Evitando saturações de buffer.

Em C++, essas funções têm as sobrecargas que invoca o mais recente, mais o modelo contrapartes seguro dessas funções. Para obter mais informações, consulte Sobrecargas de modelo seguras.

Mapeamentos da rotina de texto genérico

Rotina Tchar.h

_UNICODE e _MBCS não definidos

_MBCS definido

_UNICODE definido

_tcsncpy

strncpy

_mbsnbcpy

wcsncpy

_tcsncpy_l

_strncpy_l

_mbsnbcp_l

_wcsncpy_l

Requisitos

Rotina

Cabeçalho necessário

_mbsnbcpy

<mbstring.h>

_mbsnbcpy_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)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbset, _mbsnbset_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l