_mbsnbcpy_s, _mbsnbcpy_s_l

Bytes de n copia-se de uma cadeia de caracteres em uma cadeia de caracteres de destino.Essas são versões de _mbsnbcpy, _mbsnbcpy_l com aprimoramentos de segurança como descrito em Recursos de segurança no CRT.

Observação importanteImportante

Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

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 cadeia de caracteres é copiada.

  • sizeInBytes
    Tamanho do buffer de destino.

  • strSource
    Cadeia de caracteres a serem copiados.

  • count
    Número de bytes a serem copiados.

  • locale
    A localidade usar.

Valor de retorno

Zero se com êxito; EINVAL se um parâmetro inválido foi passado.

Comentários

A função de _mbsnbcpy_s copia bytes de count de strSource a strDest.Se count excede o tamanho de strDest, ou de cadeias de caracteres de entrada é um ponteiro zero, ou sizeInBytes ou count são 0, a função invocam o manipulador inválido de parâmetros como descrito em Validação de parâmetro .Se a execução é permitida continuar, a função retorna EINVAL.Se as cadeias de caracteres de origem e de destino sobrepostos, o comportamento de _mbsnbcpy_s é indefinido.

O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale para mais informações.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.

ObservaçãoObservação

Ao contrário da versão de não Seguro dessa função, _mbsnbcpy_s não faz nenhum preenchimento zero e sempre o zero termina a cadeia de caracteres.

Em C++, usar essas funções é simplificada por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer (automaticamente que elimina a necessidade de especificar um argumento de tamanho) e podem automaticamente substituir mais antigos, não funções de segurança mais recentes, com suas contrapartes seguros.Para obter mais informações, consulte Proteger Overloads de modelo.

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

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

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

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 de cadeia de caracteres (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbicmp, _mbsnbicmp_l

_mbsnbset, _mbsnbset_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l