头文件:#include <string.h>
memmove() 用来复制内存内容,其原型为:
void * memmove(void *dest, const void *src, size_t num);
-
memmove() 与 memcpy() 类似都是用来复制 src 所指的内存内容前 num 个字节到 dest 所指的地址上。
-
不同的是,memmove() 更为灵活,当src 和 dest 所指的内存区域重叠时,memmove() 仍然可以正确的处理,不过执行效率上会比使用 memcpy() 略慢些。
实例:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main () { char str[] = "123456789........."; memmove (str+6,str+1, 4); puts (str); return 0; }
douzi@douzi:~/douzi_self_execise/c语法$ ./memcpy_test.out
1234562345........