C标准库之内存操作函数——memmove/memcpy
功能:memmove/memcpy函数从src指向空间开始拷贝n个字节到dest所指的空间内注:如果目标和源空间有重叠的话,memmove能保证源空间在被覆盖之前完成拷贝任务。这两个函数与strcpy的主要差别是:可以拷贝任意类型,不一定要拷贝字符串,不用字符串结束符’\0’作为进行结束拷贝的条件函数原型:void * memcpy(void * dest, const void * src, size_t n);void * memmove(void * dest, const void * src, size_t n);
参数:
参数说明
dest目标空间首地址
src源空间首地址
n拷贝的字节数
返回值:目标空间的首地址
要求:
函数需要的头文件
memcpy/memmove<string.h>
举例:#include <stdio.h>
#include <string.h>
int main(void)
{
int src = 1234, dest = 0;
printf("memcpy拷贝前:\n 源数值:%d 目的空间数值:%d\n", src, dest);
memcpy(&dest, &src, sizeof(src));//从src的空间拷贝值到dest里, 改为memmove效果相同
printf("memcpy拷贝后:\n 源数值:%d 目的空间数值:%d\n", src, dest);
return 0;
}
运行效果:
页:
[1]