C语言memmove()函数: 复制内存内容(可以重叠的内存块)

头文件:#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........

 

原文地址:https://www.cnblogs.com/douzujun/p/10643922.html