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