20pts求助(我竟然会跌到这种题上)

P5734 【深基6.例6】文字处理软件

liruizhou_lihui @ 2024-08-28 21:56:57

#include<bits/stdc++.h>
using namespace std;
int n;
string s;
int main()
{
    cin>>n;
    cin>>s;
    while(n--)
    {
        int op;
        cin>>op;
        if(op==1)
        {
            string str;
            cin>>str;
            s.append(str);
            cout<<s<<'\n';
        }
        if(op==2)
        {
            int l,r;
            cin>>l>>r;
            s.substr(l,l+r);
            cout<<s<<'\n';
        }
        if(op==3)
        {
            int x;
            string str;
            cin>>x>>str;
            s.insert(x,str);
            cout<<s<<'\n';
        }
        if(op==4)
        {
            string str;
            cin>>str;
            if(s.find(str)!=string::npos)
            {
                cout<<s.find(str)<<'\n';
            }
            else
            {
                cout<<"-1\n";
            }
        }
    }
    return 0;
}

by xueshengyi @ 2024-08-28 22:03:57

@liruizhou_lihui op =2时是s=s.substr(l,r) , s.substr不是void类型的,而且第二个参数代表长度。。。


|