_memccpy

Copia caracteres de um buffer.

Sintaxe

void *_memccpy(
   void *dest,
   const void *src,
   int c,
   size_t count
);

Parâmetros

dest
Ponteiro para o destino.

src
Ponteiro para a origem.

c
Último caractere a ser copiado.

count
Número de caracteres.

Valor retornado

Se o caractere c for copiado, _memccpy retornará um ponteiro para o caractere que dest segue imediatamente o caractere. Se c não for copiado, ele retornará NULL.

Comentários

A _memccpy função copia zero ou mais caracteres de para dest, parando quando o caractere c foi copiado src ou quando count os caracteres foram copiados, o que ocorrer primeiro.

Observação de segurança Certifique-se de que o buffer de destino seja do mesmo tamanho ou maior que o buffer de origem. Para obter mais informações, confira Como evitar sobrecargas de buffer.

Requisitos

Rotina Cabeçalho necessário
_memccpy <memory.h> ou <string.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

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

Confira também

Manipulação de buffer
memchr, wmemchr
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset