详解C语言对字符串处理函数的实现方法
目录
- strlen:
- 1.计数器版本:
- 2.递归的版本
- 3.指针-指针版本
- strcat:
- strcmp:
- 总结
strlen:
1.计数器版本:
#include#include#includeint my_strlen(const char *str){ int count =0; assert(str!=NULL); while(*str!='\0') {count++; str++; } return count; }
【详解C语言对字符串处理函数的实现方法】
2.递归的版本
int my_strlen(const char *str){ assert(str != NULL); if (*str == '\0') return 0; return (my_strlen(++str)+1); }
3.指针-指针版本
int my_strlen(const char *str){char *end = str; assert(str!=NULL); assert(end!=NULL); while (*end != '\0'){end++; }return end - str; }
strcat:
#include#include#includechar *my_strcat(char *dest,char *str){ char *ret=dest; //存dest的首地址 assert(dest&&str); while(*dest) {dest++; } while(*dest++=*str++); dest=ret; return dest; }
strcmp:
int my_strcmp(char *str1, char *str2){ assert(str1&&str2); while(*str1==*str2) {if(str1=='\0'&&str2=='\0')return 0; str1++; str2++; } if(*str1>*str2) return 1; return -1; //或return str1-str2; }
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- 布丽吉特,人生绝对的赢家
- 进必趋|进必趋 退必迟,问起对 视勿移
- 对称加密和非对称加密的区别
- 对抗抑郁最好的方法
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 装聋作哑,关系融洽
- 社保代缴公司服务费包含哪些
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- Java|Java OpenCV图像处理之SIFT角点检测详解