_memccpy
Copia caracteres de um buffer.
void *_memccpy(
void *dest,
const void *src,
int c,
size_t count
);
Parâmetros
destino
Ponteiro para o destino.src
Ponteiro para a origem.c
O último caractere a ser copiada.count
Número de caracteres.
Valor de retorno
Se o caractere c é copiado, _memccpy retorna um ponteiro para char no destino que segue imediatamente o caractere. Se c não é copiado, retorna nulo.
Comentários
A função de _memccpy copia 0 ou mais caracteres de src ao destino, paralisando quando o caractere c é copiado ou quando os caracteres de pontuação sejam copiados, o que vem primeiro.
Security Note assegura que o buffer de destino é o mesmo tamanho ou maior que o buffer de origem. Para obter mais informações, consulte Evitando saturações de buffer.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_memccpy |
<memory.h ou> string.h <> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.
Bibliotecas
Todas as versões das Bibliotecas em tempo de execução C.
Exemplo
// crt_memccpy.c
#include <memory.h>
#include <stdio.h>
#include <string.h>
char string1[60] = "The quick brown dog jumps over the lazy fox";
int main( void )
{
char buffer[61];
char *pdest;
printf( "Function: _memccpy 60 characters or to character 's'\n" );
printf( "Source: %s\n", string1 );
pdest = _memccpy( buffer, string1, 's', 60 );
*pdest = '\0';
printf( "Result: %s\n", buffer );
printf( "Length: %d characters\n", strlen( buffer ) );
}
Saída
Function: _memccpy 60 characters or to character 's'
Source: The quick brown dog jumps over the lazy fox
Result: The quick brown dog jumps
Length: 25 characters