猿问

C++编程,查找字符串子串并替换。

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

int main(){
string a;/////指定串,可根据要求替换
string b;////要查找的串,可根据要求替换
string c;
while(cin>>a>>b>>c)
{
int pos;
pos = a.find(b);////查找指定的串
while (pos != -1)
{
a.replace(pos,b.length(),c);////用新的串替换掉指定的串
pos = a.find(b);//////继续查找指定的串,直到所有的都找到为止
}
cout<<a<<endl;
}
return 0;


这个代码超时了,请问怎么控制?
程序运行超时

慕侠2389804
浏览 1512回答 2
2回答

智慧大石

1.一般不要使用cin作为循环退出的判断依据,除非你非常明白它,并且确认必须要使用它。2.一般不要使用-1作为搜索不到字符串的判断依据,一般使用std::string::npos3.一般不要使用int来接收搜索位置,一般使用size_type4.尽量不要直接using namespace,那样的话,命名空间存在的意义也就不大了。
随时随地看视频慕课网APP
我要回答