位置:首页 > 高级语言 > C语言标准库 > memmove() - C语言库函数

memmove() - C语言库函数

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