C语言 <string.h> memmove 函数
-
描述
C库函数void *memmove(void *str1, const void *str2, size_t n)将n个字符从str2复制到str1,但是对于重叠的内存块,memmove()比memcpy()更安全。 -
声明
以下是memmove函数的声明。void *memmove(void *str1, const void *str2, size_t n)
参数- str1-这是指向要在其中复制内容的目标数组的指针,类型转换为void *类型的指针。
- str2-这是指向要复制的数据源的指针,类型转换为void *类型的指针。
- n-这是要复制的字节数。
-
返回值
此函数返回指向目标的指针,即str1。示例以下示例显示memmove函数的用法-
尝试一下#include <stdio.h> #include <string.h> int main () { char dest[] = "oldstring"; const char src[] = "newstring"; printf("Before memmove dest = %s, src = %s\n", dest, src); memmove(dest, src, 9); printf("After memmove dest = %s, src = %s\n", dest, src); return(0); }
让我们编译并运行上面的程序,它将产生以下结果。Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring