这篇文章主要讲解了“c语言的str函数怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言的str函数怎么用”吧!

strlen:

用于求字符串长度,从首字符开始,到'\0'结束,'\0'不计入总长度。

函数实现:

size_tmy_strlen(constchar*ptr){assert(ptr);constchar*ptx=ptr;while(*(++ptx));return(size_t)(ptx-ptr);}strcmp:

用于比较两个字符串大小,注意大小并不是指字符串长度,而是从第一个字符开始比较,比较字符的大小。该函数返回的是一个int值,不同编译器,返回的值是不一样。但是正负是一致的,当第一个大于第二个,返回正值,小于则返回负值,相等返回0。

函数实现:

intmy_strcmp(constchar*str1,constchar*str2){assert(str1&&str2);while((!(*str1-*str2))&&((*(str1++))*(*(str2++))));return(int)(*str1-*str2);}strcpy:

用于复制字符串。

函数实现:

char*my_strcpy(char*dest,constchar*source){assert(dest&&source);char*result=dest;while(*(dest++)=*(source++));returnresult;}strcat:

用于在目标字符串末尾追加一个字符串。

函数实现:

char*my_strcat(char*a,constchar*b){assert(a&&b);char*tmp=a;while(*(++a));while(*(a++)=*(b++));*a='\0';returntmp;}strstr:

用于在一个字符串内寻找另一个字符串。这于KMP算法有关。

函数实现:

constchar*my_strstr(constchar*a,constchar*b)//a为长字符串b为短字符串{char*cp=(char*)a;char*s1;char*s2;if(!*b)returna;while(*cp){s1=cp;s2=(char*)b;while(*s1&&*s2&&!(*s1-*s2)){s1++;s2++;}if(!*s2)returncp;cp++;}returnNULL;}atoi:

这个函数很有意思,它会把字符串的数字串转化为int值。

函数实现:

intmy_atoi(constchar*str){assert(str);intnum=0;intresult=0;constchar*tmp=str;while(*str&&*str!='.'){num++;str++;}while(num--){result+=(*tmp-'0')*(int)pow(10,num);tmp++;}returnresult;}

strncpystrncmpstrncat

三个函数都是限制了字符个数,功能是一样的。

函数实现:

char*my_strncpy(char*dest,constchar*sou,size_tnum){assert(dest&&sou);char*tmp=dest;while((num--)&&(*(dest++)=*(sou++)));returntmp;}char*my_strncat(char*a,constchar*b,intn){assert(a&&b);char*tmp=a;while(*(++a));while((n--)&&(*(a++)=*(b++)));*a='\0';returntmp;}intmy_strncmp(constchar*str1,constchar*str2,intn){assert(str1&&str2);while((!(*str1-*str2))&&((*(str1++))*(*(str2++)))&&(n--));return(int)(*str1-*str2);}

感谢各位的阅读,以上就是“c语言的str函数怎么用”的内容了,经过本文的学习后,相信大家对c语言的str函数怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!