您的位置:首页 > 其它

字符串处理函数strchr和strstr的实现

2015-10-10 10:49 363 查看
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
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: