您的位置:首页 > 其它

strstr()函数实现

2014-07-07 11:21 337 查看
/*
函数要求:写一个函数模拟strstr()函数,设计中不得使用其他库函数。
函数原型:const char *strstr(const char *str1,const char *str2);
说明:在字符串str1中,寻找字串str2,若找到返回找到的位置,否则返回NULL。
比如:"123523456"寻找"234",会返回23456
*/
#include<iostream>
using namespace std;
const char * my_strstr( const char *str,const char *subStr);
int main(void)
{
char * str="123523456";
cout<<"主字符串:"<<str<<endl;
char * subStr="234";
cout<<"子字符串:"<<subStr<<endl;

if(my_strstr(str,subStr)==NULL)
cout<<"不是子字符串"<<endl;
else
cout<<"匹配后的所有字符串:"<<my_strstr(str,subStr)<<endl;

getchar();
}
const char * my_strstr( const char *str,const char *subStr)
{
int i,j;
i=j=0;
while(str[i]&&subStr[j])
{
if(str[i]==subStr[j])
{
i++;
j++;
}
else
{
i++;
j=0;
}
}
if(subStr[j]=='\0')
return str+i-j;
return NULL;
}


测试结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: