_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 |
_mbsnbcpy |
||
_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)
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l, _strncnt, _wcsncnt
funções strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l