漩涡鸣人 发表于 2014-9-21 00:31:38

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]
查看完整版本: C标准库之内存操作函数——memmove/memcpy