最佳答案:
memmove用于拷贝字节,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,但复制后源内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。
详情介绍
memmove用于拷贝字节,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,但复制后源内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。
- 中文名
- memmove
- 原型
- void *memmove
- 头文件
- 相关函数
- memset、memcpy
memmove函数简介
原型:void *memmove( void* dest, const void* src, size_t count );
头文件:<string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
相关函数:memset、memcpy
memmove程序示例
// memmove.c
#include <stdio.h>
#include <string.h>
int main(void)
{
char s="Golden Global View";
memmove(s,s+7,strlen(s)+1-7);
printf("%s",s);
getchar();
return 0;
}
程序输出结果:Global View
MSDN上也有相关示例。
*注意:这里的拷贝长度strlen(s)+1-7表示把字符串结尾的'0'也拷贝进来。