Partilhar via


_mbsnbcpy, _mbsnbcpy_l

Copiar n bytes de uma seqüência de caracteres em uma seqüência de caracteres de destino. Versões mais seguras dessas funções estão disponível; consulte _mbsnbcpy_s, _mbsnbcpy_s_l.

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 para a seqüência de caractere a serem copiados.

  • strSource
    Seqüência de caractere a serem copiados.

  • count
    Número de bytes a serem copiados.

  • locale
    Localidade usar.

Valor de retorno

_mbsnbcpy Retorna um ponteiro para a seqüência de caractere de destino. Nenhum valor retornado é reservado para indicar um erro.

Comentários

The _mbsnbcpy cópias de função count bytes do strSource para strDest. If count é menor ou igual ao dimensionar em bytes do strSource, um caractere nulo não é automaticamente acrescentado à seqüência de caracteres copiada. Se o dimensionar em bytes de strSource é menor que count, o buffer de destino é preenchido com caracteres nulo. If count excede o dimensionar de strDest ou se sobrepõem as seqüências de caracteres de fonte e destino, o comportamento do _mbstrncpy não está definida.

If strSource ou strDest é um ponteiro nulo, essa função chama o manipulador de parâmetro inválido conforme descrito em Validação de parâmetro. Se a execução terá permissão para continuar, a função retornará NULL e conjuntos errno para EINVAL.

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.

Observação de segurança    Essa API gera uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer.

No C++, essas funções têm sobrecargas de modelo que invocam as suas similares do mais recentes, seguras dessas funções.For more information, see Proteger overloads de modelo.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsncpy

funções 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 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)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt

_mbsnbset, _mbsnbset_l

funções strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l