linux memcpy需要头文件,memcpy函数详解

本文详细介绍了Linux中memcpy函数的使用,包括其工作原理、用法示例以及与strcpy和sprintf的区别。memcpy用于内存块的复制,适用于任意数据类型,而strcpy专用于字符串拷贝,sprintf则用于数据转换成字符串。同时,文章还展示了memcpy的源码实现,解释了不同内存对齐情况的处理方式。
摘要由CSDN通过智能技术生成

说明:

1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。

2.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

3.memcpy 的操作对象不局限于某一类数据类型,或者说可适用于任意数据类型,只要能给出对象的起始地址和内存长度信息、并且对象具有可操作性即可。

例:

example1

作用:将s中的字符串复制到字符数组d中。

//memcpy.c

#include

#include

intmain()

{

char*s="Golden Global View";

chard[20];

clrscr();

memcpy(d,s,strlen(s));

d[strlen(s)]='\0';//因为从d[0]开始复制,总长度为strlen(s),d[strlen(s)]置为结束符

printf("%s",d);

getchar();

return0;

}

输出结果:GoldenGlobal View

example2

作用:将s中第14个字符开始的4个连续字符复制到d中。(从0开始)

#include

intmain()

{

char*s="Golden Globa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值