方法
方法还是从左开始查找,不对就停止,注意左右两个字符串算距离的位置,pos需要调整
#include<iostream>
using namespace std;
int main(){
string s1,a,b;
getline(cin,s1,',');
getline(cin,a,',');
getline(cin,b,'\n');
int pos1=0,pos2=0;
for(int i=0;i+a.size()<=s1.size();i++){
int j=0;
for(j;j<a.size();j++){
if(a[j]!=s1[j+i]) break;
}
if(j==a.size()){
pos1=i+a.size();
break;
}
}
for(int i=0;i+b.size()<=s1.size();i++){
int j=0;
for(j;j<b.size();j++){
if(b[j]!=s1[j+i]) break;
}
if(j==b.size()) pos2=i;
}
if(pos2-pos1>=0&&pos1!=0&&pos2!=0) cout<<pos2-pos1;
else cout<<"-1";
}