열렬히.뛰기

ft_memcpy

école 42 > libft > ft_memcpy

개요

  • src → n만큼 → dest에 값을 붙여넣음.

중요한 점

  • void 포인터 src에 있는 것을 그대로 복사할 것.
  • 따라서 strcpy처럼 src가 nul이 아닐때 dest에 넣는다는 조건을 빼야 한다.
  • 마지막 반환값 : void 포인터

구현

c
#include "libft.h"

void	*ft_memcpy(void *dest, const void *src, size_t n)
{
	size_t			i;
	unsigned char	*newdest;
	unsigned char	*newsrc;

	newdest = (unsigned char *)dest;
	newsrc = (unsigned char *)src;
	i = 0;
	if (dest == NULL && src == NULL)
		return (NULL);
	while (i < n)
	{
		newdest[i] = newsrc[i];
		i++;
	}
	return ((void *)newdest);
}