_mbccpy_s, _mbccpy_s_l

Copia um único caractere de multibyte de uma cadeia de caracteres para outra cadeia de caracteres.Essas são versões de _mbccpy, _mbccpy_l com aprimoramentos de segurança conforme 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 _mbccpy_s( unsigned char *dest, size_t buffSizeInBytes, int * pCopied, const unsigned char *src ); errno_t _mbccpy_s_l( unsigned char *dest, size_t buffSizeInBytes, int * pCopied, const unsigned char *src, locale_t locale ); template <size_t size> errno_t _mbccpy_s( unsigned char (&dest)[size], int * pCopied, const unsigned char *src ); // C++ only template <size_t size> errno_t _mbccpy_s_l( unsigned char (&dest)[size], int * pCopied, const unsigned char *src, locale_t locale ); // C++ only

Parâmetros

  • [out] dest
    Destino de impressão.

  • [in] buffSizeInBytes
    Tamanho do buffer de destino.

  • [out] pCopied
    Preenchido com o número de bytes copiados (1 ou 2 se bem-sucedida).Se você passar NULL se não importa com o número.

  • [in] src
    Caractere de Multibyte copiar.

  • [in] locale
    A localidade usar.

Valor de retorno

Zero se com êxito; um código de erro em caso de falha.Se src ou dest é NULL, ou se mais de bytes de buffSizeinBytes fossem copiadas para dest, então o manipulador inválido do parâmetro é chamado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, funções EINVAL de retorno e errno são definidas como EINVAL.

Comentários

A função de _mbccpy_s copia um caractere de multibyte de src a dest.Se src não aponta para o byte inicial de um caractere de multibyte conforme determinado por uma chamada implícita a _ismbblead, o único byte para que os pontos de src são copiados.Se os pontos de src para um byte de início mas o seguinte é 0 bytes e assim inválido, então 0 são copiados para dest, errno é definido como EILSEQ, e retorna EILSEQde função.

_mbccpy_s não acrescenta nulo; um terminador no entanto, se aponta para um caractere nulo, seguida de que src do zero é copiado para dest (isso são apenas uma cópia normal de um byte.

O valor em pCopied é preenchido com o número de bytes copiados.Os valores possíveis são 1 e 2 se a operação for bem-sucedida.Se NULL é passado, este parâmetro é ignorado.

src

copiado para dest

pCopied

Valor de Retorno

não-ligação-byte

não-ligação-byte

1

0

0

0

1

0

byte inicial seguido por non-0

byte inicial seguido por non-0

2

0

byte inicial seguido por 0

0

1

EILSEQ

Observe que a segunda linha é apenas um caso especial do primeiro.Também observe que a tabela do >= pCopiedde buffSizeInBytes .

_mbccpy_s usa a localidade atual para qualquer comportamento de são dependentes._mbccpy_s_l é idêntico a _mbccpy_s exceto que usa _mbccpy_s_l da localidade passados em para qualquer comportamento de são dependentes.

Em C++, usar essas funções é simplificada por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer automaticamente, eliminando a necessidade para especificar um argumento de tamanho.Para obter mais informações, consulte Proteger Overloads de modelo.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_tccpy_s

Mapeados para a função macro ou embutido.

_mbccpy_s

Mapeados para a função macro ou embutido.

Requisitos

Rotina

Cabeçalho necessário

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

Para mais informações, consulte Compatibilidade de compatibilidade na introdução.

Consulte também

Referência

Localidade

Interpretação de seqüências de caracteres Multibyte

_mbclen, mblen, _mblen_l