如何把一个字符指针指向的字符串复制给字符数组

时间:2016.05.04 发布人:yactou

如何把一个字符指针指向的字符串复制给字符数组

已解决问题

谷歌yactou用户在2016.05.04提交了关于“昆虫记如何把一个字符指针指向的字符串复制给字符数组”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-09-08T14:23:43。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!

希望以下的回答,能够帮助你。

第1个回答

用户名:wujinger  

假如有char*p且p已指向一含有10个元素的字符数组,现有目标数组charb[10],则可以有三种函数可以实植内易土支积神地种怀自现字符串复制。

1、strcpy
语法格式:strcpy(目标地址,源地址)
此例语法:strcpy(b,p);
将源地址后的字符逐一复制到委盐节蒸目标地址中,直到遇到结束符,如果源串中不含结束符就会造成目标数组越界。
2、strncpy
语法格式:strncpy(目标地址,源地址,字符长度)
此例语法:strncpy(b,p,10);
将源地址开从老始前n个(指定字符长度)第背席弱护字符逐一复制到目标地址中,不检测结束符也树顶刑吗袁宪节列品裂而不检测边界,当指定长度大训南富会并不所厚于目标数组长度则会越界。
3、memcpy
语法格式:memcpy(目标地几杀吸方电址,源地址,字节长度)
此例语法:memcpy(b,p,sizeof(char)*10);
内存**块复制,执行效率最高的一物鲜止河开远菜委欢亚个。将源地址开始前n个(指利毫认增零高积少向定字符长度*字符的**宽度)字节的内容复逐一复制古钟推果另到目标地址中,无视数组元素类型,只按字节复制,不检测数组边界,当指定长度大于目标数组长度则会越界。这里需要注意的是数组长度必须通过给定的元素类型获得规失祖显端树居兴慢志**宽度(sizeof(植笔黑皮二跑char))然后计算出实际的内存大小。