描述:C库函数原型为:
void * memmove(void *str1,const void *str2,size_t n);
从str2复制n个字符到str1中,但是在重叠内存块这方面,memmove()函数是比memcpy()更安全的方法。如果目标区域和源区域有重叠的话,memmove()函数能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,复制后源区域的内容会被更改。如果目标区域与源区域没有重叠,则和memcpy()函数功能相同。
声明:void * memmove(void *str1,const void * str2,size_t n)
参数:str1---指向用于存储复制内容的目标数组,类型强制转换为void *指针。
str2---指向要复制的数据源,类型强制转换为void *指针。
n---要复制的字节数
返回值:该函数返回一个指向目标存储区str1的指针
实例:
#include <stdio.h>
#include <string.h>
int main()
{
const 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;
}