void *memmove(void *dest, const void *src, size
优质
小牛编辑
125浏览
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