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 () { const char dest[] = "oldstring"; const char src[] = "newstring"; printf("Before memmove dest = %s, src = %s ", dest, src); memmove(dest, src, 9); printf("After memmove dest = %s, src = %s ", dest, src); return(0); }
让我们编译和运行上面的程序,这将产生以下结果:
Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring