先是C++的自带函数,到时候直接用
s.find(str)
string中find()返回值是字母在母串中的下标位置。但没有找见会返回string::npos。
strstr(haystack,needle)
string中strstr()返回值是从字符串haystack中寻找needle第一次出现的位置,但是该函数不比较结束符NULL。
insert:在指定位置插入字符、子字符串或另一个字符串。
蹄牧
按题意模拟即可
#include<bits/stdc++.h>
using namespace std;
int q,op,a,b;
string str,stg;
int main(){
cin>>q;
cin>>str;
while(q--){
cin>>op;
if(op==1){//后接插入
cin>>stg;
str+=stg;
cout<<str<<'\n';
}
if(op==2){//截取文档部分
cin>>a>>b;
str=str.substr(a, b);
cout<<str<<'\n';
}
if(op==3){//插入片段
cin>>a>>stg;
str.insert(a,stg);
cout<<str<<'\n';
}
if(op==4){//查找子串
cin>>stg;
if (str.find(stg)<str.size())
cout << str.find(stg) << endl;
else
cout << -1 << endl;
}
}
return 0;
}
点个赞再走吧