include
#include <string.h> void *memmove(void *dest, const void *src, size_t len);
인자
- dest
복사가 진행될 목적지이다.void*
의 형태로 string뿐 아니라 다른 값도 들어올 수 있다.- src
우리가 복사를 해야하는 값이 들어있는 포인터이다.- len
src
에서부터len byte
만큼dest
에 복사를 한다.
memmove
는 memcpy
와 같은 목적으로 사용되는 녀석이다. 단지 다른 점이 있다면 임시버퍼를 사용해서 복사를 진행하기 때문에 메모리가 중첩되어 있더라도 복사를 진행할 수 있다
는 것이다.
memmove를 구현하려면 어떤 방법들이 있을까??
별개의 임시 저장공간을 만들어서 복사한 후 dest에 복사를 한다.
복사가 될 위치를 조정한다.
이런 방법으로 구현을 할 수 있을 것 같다.
복사된 dest를 리턴해 준다.