求各位大佬帮忙看一下是什么问题
#include <bits/stdc++.h>
using namespace std;
int main(){
string s,a,b;
getline(cin,s);
getline(cin,a);
getline(cin,b);
a=" "+a+" ";
b=" "+b+" ";
s=" "+s+" ";
for(int k=0;(k=s.find(a,k))>=0;k+=b.size()-1){
s.replace(k,a.size(),b);
}
cout <<s.substr(1,s.size()-2);
return 0;
}