当前位置: 首页 > 文档资料 > C 标准库 中文版 >

void *memmove(void *dest, const void *src, size

优质
小牛编辑
129浏览
2023-12-01

描述 (Description)

C库函数void *memmove(void *str1, const void *str2, size_t n) n字符从str2复制到str1 ,但对于重叠的内存块,memmove()比memcpy()更安全。

声明 (Declaration)

以下是memmove()函数的声明。

void *memmove(void *str1, const void *str2, size_t n)

参数 (Parameters)

  • str1 - 这是一个指向目标数组的指针,其中内容将被复制,类型转换为void *类型的指针。

  • str2 - 这是一个指向要复制的数据源的指针,类型转换为void *类型的指针。

  • n - 这是要复制的字节数。

返回值 (Return Value)

此函数返回指向目标的指针,即str1。

例子 (Example)

以下示例显示了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