详解C语言对字符串处理函数的实现方法
更新时间:2021年12月29日 15:38:38 作者:GREEN@dehua
这篇文章主要为大家介绍了C语言对字符串处理函数的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
strlen:
1.计数器版本:
#include<stdio.h> #include<string.h> #include<assert.h> int my_strlen(const char *str) { int count =0; assert(str!=NULL); while(*str!='\0') { count++; str++; } return count; }
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<stdio.h> #include<string.h> #include<assert.h> char *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; }
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
Mac OS上搭建Apache+PHP+MySQL开发环境的详细教程
这篇文章主要介绍了Mac OS上搭建Apache+PHP+MySQL开发环境的详细教程,包括常见的PHP连接MySQL失败问题的解决办法,需要的朋友可以参考下2016-01-01C++ Boost PointerContainer智能指针详解
智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。虽然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷贝和赋值操作),因此很少有人使用。它是Boost各组件中,应用最为广泛的一个2022-11-11
最新评论