개요
- 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);
}