strcpy和strncpy区别 memcpy和strcpy的区别
char* p="how are you ?";
char name[20]="ABCDEFGHIJKLMNOPQRS";
strcpy(name,p); //name改变为"how are you ? OPQRS " ====>错误!
strncpy(name,p,sizeof(name)) //name改变为"how are you ? " ====>正确!
第二种情况:
char* p="how are you ?";
char name[20];
strcpy(name,p); //name改变为"how are you ? 未知字符 " ====>错误!
name[sizeof(name)-1]=‘ ‘ //和上一步组合,得到正确的结果!
strncpy(name,p,sizeof(name)); //name改变为"how are you ? " ====>正确!
第三种情况:
char* p="how are you ?";
char name[10];
strcpy(name,p); //name改变为"how are yo" ====>无结束符‘ ‘,错误!
name[sizeof(name)-1]=‘ ‘ //和上一步组合,弥补结果。但要注意,字符传递错误!
strncpy(name,p,sizeof(name)); //和单纯的一步strcpy结果一样!
总结:strcpy
如果源长>目标长,则将源长中等于目标长的字符拷贝到目标字符串
如果源长<目标长,则源长全部拷贝到目标字符串,不包括‘ ‘
strncpy
如果目标长>指定长>源长,则将源长全部拷贝到目标长,自动加上‘ ‘
如果指定长<源长,则将源长中按指定长度拷贝到目标字符串,不包括‘ ‘
如果指定长>目标长,error happen!
/***************************************************************************************************
东去东来总结:
strcpy(),以源串中的‘ ‘为拷贝结束标志,直到遇到该NULL为止,然后将NULL拷贝上.
strncpy()以第三个参数N为拷贝结束标志,如果source的长度小于N,则剩余的字符全部用NULL填充.
如果source的长度大于N,则从source中截取前N个字符,拷贝过去.
更多阅读
微波炉和电烤箱的使用区别 微波炉 烤箱 区别
电烤箱和微波炉的区别?有什么不一样的别?在众多厨房家电中,微波炉与烤箱无论是外形还是功能都非常接近,这也使得消费者在选购时产生疑惑:究竟是选微波炉还是选烤箱好呢?而此次小编要给大家介绍的正是这两者的区别。电烤箱和微波炉的区
告诉您高丽参和西洋参的区别方法 高丽参 西洋参 人参
许多消费者都在问高丽参和西洋参的区别。西洋参又称广东人参、花旗参。高丽参和西洋参的区别主要是品种和药用功效的不同,但这两种参都统属人参科。高丽参和西洋参的区别方法高丽参,又叫做韩国红参,是属于热性的中药,大补气血的上品
哈士奇和阿拉斯加的区别 狗狗智商排名
哈士奇和阿拉斯加的区别——简介有一种狗狗和哈士奇长得很像,毛要比哈士奇长了许多。不要惊讶,它叫“阿拉斯加”。原产美国的阿拉斯加州,为什么它长得那么像哈士奇,而且都是雪橇犬呢?接下来,就让我们一起揭开它们神秘的面纱!哈士奇和阿拉
文旦和柚子的区别 姑娘果的功效与作用
文旦和柚子的区别——简介文旦和柚子是属于关系,文旦是柚子的一种文旦和柚子的区别——工具/原料文旦和柚子是属于关系,文旦是柚子的一种文旦和柚子的区别——方法/步骤文旦和柚子的区别 1、文旦 名称:文旦 产地:浙江台州玉环 别名
隔离霜和防晒霜的区别 教你方法选对产品 隔离霜与防晒霜的区别
?隔离霜和防晒霜的区别 教你方法选对产品 还有护肤小技巧哦隔离霜和防晒霜的区别,其实有很多姐妹还是分不清的。秋天的紫外线很猛烈,隔离防晒还是要做足。很多姐妹都在纠结到底是用防晒霜还是用隔离霜,搞不清隔离霜和防晒霜的区别。简