编辑代码

#include <iostream>
using namespace std;
#include <string.h>

using namespace std;

int Index(string s,string t){
	int i=0,j=0;
	while(i<s.length()&&j<t.length()){
		if(s[i]==t[j]){
			++i;
			++j;
		}else{
			i=i-j+1;//i指针回溯,回到上一个i的下一位 
			j=0;//j指向模式串的开头 
		}
	}
	if(j>=t.length())return (i-t.length());
	else return -1;
}

int main(){
	string s,t;
	cin>>s;
	cin>>t;
	int i = Index(s,t);
	if(i!=-1){
		printf("匹配成功,位置在%d",i);
	}else{
		printf("匹配失败");
	}
	return 0;
}