概述
strlen
数组长度的计算是通过strlen来的,它的作用就是判断给定的数组元素个数,直到碰到 结束
函数原型
size_t strlen ( const char * str );
废话少说,直接上代码
int my_strlen(char *str) { char* ch=str; int count=0; while(*ch!=' ') { count++; ch++; } return count; }
但考虑到安全性,因为求长度并不会改变源字符串,所以加上const修饰char,保证该字符串的内容不能被修改,但是可以改变指向
int my_strlen(const char *str) { char* ch=str; int count=0; while(*ch!=' ') { count++; ch++; } return count; }
strcpy
strcpy是将一个字符串含 整体拷贝到另一个字符串中
原型为
char * strcpy ( char * destination, const char * source );
void my_strcpy(char* dest,const char *src) { char * ch=src; while(*ch!=' ') { *dest=*ch; dest++; ch++; } *dest=' '; }
同理不改变原字符串,所以加上const修饰。在最后记得手动给目的字符串加上 ,这样才能保证输出正确
strcat
原型
char * strcat ( char * destination, const char * source );
void my_strcat(char* dest,const char *src) { char * ch=dest; while(*ch!=' ')ch++; while(*src!=' ') { *ch=*src; ch++; src++; } *ch=' '; }
先遍历跑完目的字符串,接着再将原字符串所指的值一一赋给目的字符串.而因为是把原接在目的字符串后,所以目的字符串要足够大
strcmp
原型
int strcmp ( const char * str1, const char * str2 );
int my_strcmp(const char* str1,const char *str2) { assert(str1); assert(str2); char * s1=str1; char * s2=str2; while(*s1==*s2) { if(*s1==' ') { return 0; } s1++; s2++; } if(*s1>*s2) { return 1; } else { return -1; } }
上面代码最后可以简化为return *s1-*s2,不过主函数里要相应更改了
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注靠谱客的更多内容!
最后
以上就是老实铃铛为你收集整理的实现C语言常用字符串库函数的全部内容,希望文章能够帮你解决实现C语言常用字符串库函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复