本文主要是介绍字符串处理函数strchr和strstr的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,strchr函数
函数功能:查找一个字符。在一个字符串中查找一个特定的字符。
函数原型:char *strchr(char const *str,int ch);
函数说明:strchr在字符串str中查找字符ch第一次出现的位置,找到后返回一个指向该位置的指针。如果该字符不存在于字符串中,则返回一个NULL指针。注意:第二个参数是一个整型值,但是,它包含了一个字符串值。
函数实现:
1 /*实现strchr函数*/2 #include 3 #include 4 char *mystrchr(char *s,char c)5 {6 char*p=s;7 while(*s && *s!=c)8 s++;9 if(*s==c)10 return s;11 return NULL; 12 } 13 14 int main()15 {16 char buf[20] = "hellowrold!";17 char c='l';18 char *p = mystrchr(buf,c);19 printf("%s\n",p);20 return 0;21 } 22
2,strstr函数
函数功能:在一个字符串中查找一个字串
函数原型:char *strstr(char const *s1,char const *s2);
函数说明:strstr实现在s1中查找整个s2第一次出现的位置,并返回一个指向该位置的指针。如果s2并没有完整的出现在s1的任何地方,函数返回一个NULL指针。如果第二个字符串是一个空字符串,函数返回s1。
函数实现:
1 /*实现strstr函数*/2 #include 3 #include 4 char *mystrstr(char *s1,char *s2)5 {6 char *pChar;7 pChar = s2;8 int len = strlen(s2);9 for(;strchr(s1,*pChar)!='\0';s1++)10 {11 if(strncmp(s1,pChar,len) == 0)12 {13 return s1;14 }15 }16 return NULL;17 }18 19 int main()20 {21 char str1[20]="abcdhello!";22 char str2[20]="cd";23 char *p = mystrstr(str1,str2);24 printf("%s\n",p);25 return 0;26 }27
注:转载出自:http://blog.chinaunix.net/uid-26524139-id-3079990.html
这篇关于字符串处理函数strchr和strstr的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!