实现strstr 函数

来源:互联网 发布:js如何给div加边框 编辑:程序博客网 时间:2024/06/05 10:08
// strstr.cpp : Defines the entry point for the console application.//#include "stdafx.h"//*int strlen(char *str){int len=0;while(*str){str++;len++;}return len;}bool strIsRepeat(char* str1,char* str2){int i=0,j=0;while(str1[i] && str2[j]){if(str1[i] ==str2[j]){i++;j++;}elsereturn false;}if(str2[j]=='\0')return true;elsereturn false;}//实现strstr 函数。int strstr(char str[], char par[]){int i=0;int lengthDiff=(strlen(str)-strlen(par));char *strtmp=NULL;for(i=0;i<lengthDiff+1;i++){strtmp=&str[i];if(strIsRepeat(strtmp,par))return i;}return -1;}///////////////////////////////////int j=0;//while(str[i] && str[j])//{//if(str[i]==par[j])//{//++i;//++j;//}//else//{//i=i-j+1;//j=0;//}//}//while(str[i] && str[j])// if(!str[j]) // return i-strlen(par);// else // return -1;//}//*///#include<string.h>int main(int argc, char* argv[]){char str1[]="ABCDE";char str2[]="ABC";char str3[]="BCD";char str4[]="CDE";char str5[]="CDEFGF";//printf("str2@str1:%s\n",strstr(str1,str2));//printf("str3@str1:%s\n",strstr(str1,str3));//printf("str4@str1:%s\n",strstr(str1,str4));//printf("str5@str1:%s\n",strstr(str1,str5));printf("str2@str1:%d\n",strstr(str1,str2));printf("str3@str1:%d\n",strstr(str1,str3));printf("str4@str1:%d\n",strstr(str1,str4));printf("str5@str1:%d\n",strstr(str1,str5));return 0;}

原创粉丝点击