Compartilhar via


_mbsnbcpy_s, _mbsnbcpy_s_l

Cópias n bytes de uma seqüência de caracteres em uma seqüência de caracteres de destino. Essas são sistema autônomo versões de _mbsnbcpy, _mbsnbcpy_l com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no CRT.

errno_t _mbsnbcpy_s(
   unsigned char * strDest,
   size_t sizeInBytes,
   const unsigned char * strSource,
   size_t count 
);
errno_t _mbsnbcpy_s_l(
   unsigned char * strDest,
   size_t sizeInBytes,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcpy_s(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbcpy_s_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.

  • sizeInBytes
    dimensionar do buffer de destino.

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

  • count
    Número de bytes a serem copiados.

  • locale
    Localidade usar.

Valor de retorno

Zero se for bem-sucedido; EINVAL Se um parâmetro inválido foi passado.

Comentários

The _mbsnbcpy_s cópias de função count bytes do strSource para strDest. If count excede o dimensionar de strDest, da entrada de seqüências de caracteres é um ponteiro nulo, ou sizeInBytes ou count é 0, a função chama o manipulador de parâmetro inválido sistema autônomo descrito em Validação de parâmetro . Se a execução terá permissão para continuar, a função retornará EINVAL. Se as seqüências de caracteres de fonte e destino estiverem sobrepostas, o comportamento de _mbstrncpy não está definida.

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. Para obter mais informações, consulte Localidade.

Observação:

Ao contrário da versão dessa função, não segura _mbsnbcpy_s não realiza nenhuma nulo preenchimento e sempre null Finaliza a cadeia de caracteres.

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.Para obter mais informações, consulte 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

_tcsncpy_s

_strncpy_s

_mbsnbcpy_s

_wcsncpy_s

_tcsncpy_s_l

_strncpy_s_l

_mbsnbcpy_s_l

_wcsncpy_s_l

Requisitos

Rotina

Cabeçalho necessário

_mbsnbcpy_s

<mbstring.h>

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

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt

_mbsnbicmp, _mbsnbicmp_l

_mbsnbset, _mbsnbset_l

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