strcpy和strcpy_s的区别_c语言中strcpy函数的用法

strcpy和strcpy_s的区别_c语言中strcpy函数的用法C语言:字符串函数(strcpy,strcat,strcmp,strstr)简介目录1.strcpy函数1.1简介strcpy函数1.2strcpy函数的使用和模拟实现1.2.1strcpy函数使用:1.2.2strcpy函数的

C语言:字符串函数(strcpy,strcat,strcmp,strstr)简介   目录   1.strcpy函数   1.1简介strcpy函数   1.2strcpy函数的使用和模拟实现   1.2.1strcpy函数使用:   1.2.2strcpy函数的模拟实现   2.strcat函数   2.1strcat函数简介   2.2strcat函数的使用和模拟实现   2.2.1strcat函数的使用   2.2.2strcat函数的模拟实现   3.strcmp函数   3.1简介strcmp函数   3.2strcmp函数使用及原理和模拟实现   3.2.1strcmp函数的使用及原理   3.2.2strcmp函数的模拟实现   4.strstr函数   4.1简介strstr函数   4.2strstr函数使用及原理和模拟实现   4.2.1strstr函数的使用   4.2.2ststr函数的模拟实现   1.strcpy函数   1.1简介strcpy函数   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   根据官网上的介绍,strcpy函数有2个参数,第一个参数是destnation(意思是字符串的粘贴地),第二个参数是source(意思是字符串的复制地)。   这个函数有几个注意事项:   1.源字符串必须以‘0’结尾。                                                                                                                2.strcpy函数会将‘0’拷贝到目标空间。                                                                                              3.目标空间必须可修改而且要足够大。 1.2strcpy函数的使用和模拟实现 1.2.1strcpy函数使用:   输出结果是:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   我们发现arr1中的后面的x并没有被打印出来,说明strcpy函数会将源字符串的’0’也复制到目标字符串中,以达到覆盖的效果。 1.2.2strcpy函数的模拟实现   字符串函数返回的值都是char*类型的地址。再根据strcpy函数的两个参数可以对该函数进行下列模拟:   2.strcat函数   2.1strcat函数简介   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   strcat函数(str connact):作用是将源字符串的内容转移到目标字符串的后面。这种方式不会破坏目标字符串,相当于只给目标字符串添加了一个源字符串。   strcat函数注意事项:   1.源字符串必须以’0’结尾。                                                                                                                2.目标字符串也必须有’0’,要不然不知道从哪个位置开始追加。                                                      3.目标字符串必须要有足够空间,并且可修改。 2.2strcat函数的使用和模拟实现 2.2.1strcat函数的使用   像之前所说,strcat是在目标字符串后面追加源字符串,所以不会像strcpy函数那样起到覆盖的效果,代码如下:   输出结果是:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法 2.2.2strcat函数的模拟实现   模拟实现大致与strcpy函数相似,只是在复制粘贴工作之前增加了一个找目标字符串’0’的工作(这样才能保证追加在源字符串的后面)。   模拟strcat函数和strcat函数效果对比结果如下:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   3.strcmp函数   3.1简介strcmp函数   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   strcmp函数是比较两个字符串的函数,根据cplusplus官网上的信息,strcmp函数有两个参数(两个参数都是const char*类型的,将字符串的首素地址传参过去),返回的是一个整型值。   当左边的字符串小于右边字符串时,返回值是负数。                                                                        当左边的字符串等于右边字符串时,返回值是0。                                                                            当左边的字符串大于右边字符串时,返回值是正数。  3.2strcmp函数使用及原理和模拟实现 3.2.1strcmp函数的使用及原理   字符串大小比较的原理是:从字符串第一个素开始比较,如果正在比较的素的Asc||码值相同就进入下一个素的比较;如果正在比较的素的码值不同,则停止比较,Asc||码值大的素对应的字符串就更大。   比如:”abcdefg”<“abcq”   我们写代码来验证一下:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   除了比大小之外,strcmp函数还能判断输入的字符串是不是你想要的字符串以此来达到一定的效果。比如:如果输入 “Jay Chou”,就输出”好帅”;而输入其他字符串则无效,可以用下面这段代码来进行:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   用strcmp比较,当输出结果为0,就说明两个字符串完全一致。 3.2.2strcmp函数的模拟实现   根据前面介绍的strcmp函数比较的原理,我们大致知道了这个函数是逐字符进行比较的。所以我们可以写出以下代码来:   然后我们在主函数中进行测试:   测试结果如下:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   因为函数返回值只对正负有要求,所以我们很好地完成了模拟任务。   4.strstr函数   4.1简介strstr函数   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法 Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1. (函数返回字符串str2在字符串str1中第⼀次出现的位置)。 The matching process does not include the terminating null-characters, but it stops there.(字符 串的⽐较匹配不包含 0 字符,以 0 作为结束标志)。 4.2strstr函数使用及原理和模拟实现 4.2.1strstr函数的使用   先看下面这一段代码:   打印结果是:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   更加印证了strstr函数的作用是找到目标字符串在源字符串中的位置,并从该位置继续向后打印直到遇见’0’为止。   如果在源字符串中找不到目标字符串,那么系统将会返回一个(NULL)指针。 4.2.2ststr函数的模拟实现   模拟实现的本质在于:通过指针比较目标字符串是否在源字符串中出现过,那么我们使用的就是地址的解引用。   我们先假设有这样两个字符串:arr1=”abbbcdef” , arr2=”bbc”. 按照我们原有的思路,先移动arr1的指针直到与arr2的首字符相等的时候开始匹配。但是,当arr1,arr2的指针同时移动:arr1指针从第一个b开始移动到到第三个b,arr2的指针到c的时候发现并不匹配,这个时候按理说不能直接判断为匹配失败,而是要让arr1的指针从第二个b开始,arr2的指针从第一个b开始进行下一轮的匹配,但是此时两个指针都不在原有的位置上了,这是解决此问题的一个最大的麻烦。   如下图:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   左图是起始位置在abbbcdefg 的检测过程,右图是左边检测失败后应当进行的从abbbcdefg 开始的检测过程。而因为指针位置错乱了所以导致在常规思路下检测无法正常进行。   所以要想正常地进行检测,除了str1和str2以外,我们必须要有一个专门的指针记录源字符串开始匹配的位置,还要有一个移动指针指向arr2,当需要重新检测的时候再用str2赋值即可。   完整代码如下:   两种函数输出结果比较为:   
strcpy和strcpy_s的区别_c语言中strcpy函数的用法   感谢观看,有任何错误请批评指出

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

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

(0)
上一篇 2024年 9月 11日 上午10:16
下一篇 2024年 9月 11日 上午10:20

相关推荐

关注微信