C语言 | 您所在的位置:网站首页 › 库函数的功能 › C语言 |
文章目录
系列文章目录前言一、C语言相关字符串库函数一览表二、strlen函数三、strcpy函数四、strcat函数五、strcmp函数六、strncpy函数七、strncat函数八、strncmp函数九、strstr函数十、strtok函数十一、strerror函数十二、memcpy函数十三、memmove函数十四、memcmp函数十五、memset函数
前言
C语言的库函数,是我们经常在编写程序所用到的函数,我们可以借用库函数去实现各种各样的功能,在本篇文章,我们介绍的是C语言中字符串和字符的相关库函数,以及他们的模拟实现,通过模拟实现我们可以深入了解到库函数的工作原理,以便今后更好的使用,下面开始我们的库函数讲解!!! ![]() 我们这里看到这里需要的参数类型是char*所以我们传进来的参数需要是字符串的地址,并且我们可以看到这里的指针变量前加了const的修饰,这样就可以保证传进来的字符串不被修改,因为我们求字符串的长度是不需要对字符串进行修改的,加以const修饰保证程序更加的安全。 3.返回值类型我们看到图片上面的返回值类型为size_t类型,我们知道size_t类型为无符号整型,我们也易于理解,毕竟求出一个字符串的长度肯定是一个正数,所以这里的返回值类型为一个无符号整型 这里我引入一个例子: #include #include int main() { char* str1 = "abc"; char* str2 = "abcedf"; if (strlen(str1) - strlen(str2) > 0) { printf("hehe\n"); } else { printf("haha\n"); } return 0; }
相等的情况:(两个字符串一样) 小于的情况 :(返回小于0的数值) 逐条语句解析: ①~②.定义两个字符串 ③.将两个字符串的地址传进我们自己编写的my_strcmp函数内,定义一个整型变量ret去接收返回 的数值 ④.模拟strcmp函数的参数类型和返回值类型的编写方法 ⑤.判断传入函数内的两个字符串地址是否有效 ⑥~⑨.从两个字符串的首元素开始比较,先判断字符串str1是不是空如果是空直接就返回0,如果两个字符相等,两个字符串首地址进行++操作后移继续比较,比到最后一个字符串如果还是相等返回最后两个字符对应ASSIC码值相减后的结果,因为两个字符串相等所以结果就是 0 。如果在比较过程中就发现了两组字符存在大小差异,即结束判断,返回两个字符对应ASSIC相减的结果,>0就是str1大于str2,0/=0/ |
CopyRight 2018-2019 实验室设备网 版权所有 |