strcmp长度不一样_字符串连接的结果过长

strcmp长度不一样_字符串连接的结果过长长度受限制的字符串函数strncpy,strncat,strncmp前言:在上一章,介绍了长度不受限制的字符串函数strcpy,strcat,strcmp,本章将介绍与它们对应的长度受限制的字符串函数s

长度受限制的字符串函数strncpy,strncat,strncmp   前言:在上一章,介绍了长度不受限制的字符串函数strcpy,strcat,strcmp,本章将介绍与它们对应的长度受限制的字符串函数strncpy,strncat,strncmp   strncpy(字符串复制函数)   strncpy与strcpy不同的地方就是多了个n,代表它是长度受限制的字符串复制函数   cplusplus介绍如下:   
在这里插入图片描述   由上图可知,strncpy有3个参数,第一个为目标数组,第二个为要复制的源字符串,第三个为要从源字符串复制的最大字符数   (1)若限制字符数小于等于源字符串有效长度,则不会在复制结尾添加终止空字符’0’,这点与strcpy有所区别   (2)若限制字符串大于源字符串有效长度,则会在多余的地方补’0’   举以下例子,方便大家理解上述第1点:   输出:   
在这里插入图片描述   可以看到,strcpy与strncpy的打印结果有所区别,因为strcpy会在拷贝结束后结尾加上终止空字符’0’,而该题中限制字符数等于源字符串,strncpy不会在拷贝结尾加上终止空字符’0’   举以下例子,方便大家理解上述第二点   输出:   
在这里插入图片描述   此时的监视窗口情况:   拷贝前:   
在这里插入图片描述   拷贝后:   
在这里插入图片描述   通过上图监视窗口,我们发现arr2中下标为4的值由x变为’0’,这就是多余补’0’的情况,因此上面输出结果中第5个x消失了   strncat(字符串连接函数)   与上面的差不多,strncat是长度受限制的字符串连接函数   cplusplus介绍如下:   
在这里插入图片描述   由上图可知,strncat有3个参数,第一个为目标字符串,第二个为要连接的源字符串,第三个为要从源字符串复制的追加字符数   目标字符串的终止空字符‘0’会被源字符串的第一个字符覆盖   追加结束后结尾补上终止空字符’0’,注意是补上!!!   若追加字符数大于源字符串大小,则追加完源字符串(包括’0’)就停止,不会补’0’   举以下例子,方便大家理解上述最后一点:   输出:   
在这里插入图片描述   监视窗口:   连接前   
在这里插入图片描述   连接后:   
在这里插入图片描述   比较上面两张监视图片,可以发现,下标为11及其以后的数组内容并未被改变。   strcat为什么不能自己追加自己   在上一篇文章中,曾提到过这个问题,但因篇幅原因,并未讲解,在这里对其进行解释   作图解释:   
在这里插入图片描述   在VS中输出:
在这里插入图片描述   在DEV中输出:
在这里插入图片描述   可以发现,在VS中我们得到了我们想要的结果,但在DEV中结果却不正确,因为连接覆盖了目标字符串的终止空字符’0’,而目标字符串与追加字符串是相同的,所以追加字符串中结尾没有’0’,代码无法停止。   strncmp(字符串比较函数)   strncmp是长度受限制的字符串比较函数   cplusplus介绍如下:   
在这里插入图片描述   由上图可知,strncmp有3个参数,第一第二个为要进行比较的字符串,第三个为要比较的字符数   字符串比较规则   从第一个字符开始,比较其ASCII码值,若相等,则对应的第二个字符相互比较,以此类推,若前者大于后者,则返回一个大于0的数字,若前者小于后者,则返回一个小于0的数字,若两者相等,则返回0   strncpy的返回值图表   
在这里插入图片描述   举以下代码,方便大家理解:   输出:   
在这里插入图片描述   strcmp比较到第4个字符d与f,前者小于后者,返回小于0的值,而strncmp限制比较3个字符,到c停止,前者等于后者,返回0   文末BB:对哪里有问题的朋友,可以在评论区留言,若哪里写的有问题,也欢迎朋友们在评论区指出,博主看到后会第一时间确定修改。最后,制作不易,希望朋友们给点点赞和。   
在这里插入图片描述

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/61106.html

(0)
上一篇 2024年 8月 29日
下一篇 2024年 8月 29日

相关推荐

关注微信