詳解C語言對字符串處理函數(shù)的實現(xiàn)方法
更新時間:2021年12月29日 15:38:38 作者:GREEN@dehua
這篇文章主要為大家介紹了C語言對字符串處理函數(shù)的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
strlen:
1.計數(shù)器版本:
#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; }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細教程
這篇文章主要介紹了Mac OS上搭建Apache+PHP+MySQL開發(fā)環(huán)境的詳細教程,包括常見的PHP連接MySQL失敗問題的解決辦法,需要的朋友可以參考下2016-01-01C++中用substr()函數(shù)消除前后空格的解決方法詳解
本篇文章是對C++中用substr()函數(shù)消除前后空格的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05C++ Boost PointerContainer智能指針詳解
智能指針是一種像指針的C++對象,但它能夠在對象不使用的時候自己銷毀掉。雖然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷貝和賦值操作),因此很少有人使用。它是Boost各組件中,應(yīng)用最為廣泛的一個2022-11-11C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用集合(HashSet)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)通用數(shù)據(jù)結(jié)構(gòu)之通用集合,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11