c语言memcpy_【C语言】strcpy&strncpy&memcpy

strcpy与strncpy区别

n代表可以指定字符个数进行赋值,当src字符串长度小于n,dst数组就用额外的’0’字节填充到n长度。

strcpy实现:

// 为了实现链式操作,将目的地址返回,strcopy()可作为其它函数的参数(实参)

strncpy实现:

char 

当n长度大于strlen(dest)时,使用这个函数(与 strcpy 一样),尤其需要注意,不要出现 n>strlen(dst)的情况,如果 n>strlen(dst),那么会破坏dst后面的内存。所以,使用strncpy时,最好自动添加‘0’在结尾。

char 

strcpy与memcpy区别

1.复制的内容不同:strcpy()只能复制字符串,而memcpy()可以复制任意内容,例如字符数组、整型、结构体、类等;

2.复制的方法不同:strcpy()不指定长度,它遇到被复制字符串结束符”0”才结束拷贝,所以容易溢出,memcpy()则是根据其第三个参数决定复制的长度;

3. 用途不同:通常在复制字符串时用strcpy(),而需要复制其他类型数据时则一般用memcpy();

memcpy实现:

//void*代表复制的数据可以是任意类型,之后进行类型间的强制转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值