_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.
Importante |
---|
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çã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)
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l