字符串处理的一个简单题

在论坛一位朋友问到的,很简单的题目,我发现自己居然没什么明确的思路……
吃惊之下只好现上http://www.cppreference.com恶补了下string类的一些相关函数操作然后写了个。唉几行就解决的问题,居然……
寒假一定得狠狠地看几本书了,不然我就完了!
题目:请用C++写一个小程序,先请用户输入三个字符串,然后把第一个字符串中出现的所有的第二个字符串替换成第三个字符串,最后输出新的字符串。
#include<iostream>
#include<string>
using namespace std;

int main()
{
string str1,str2,str3;
cout<<"Input str1:";
getline(cin,str1);
cout<<"Input str2:";
getline(cin,str2);
cout<<"Input str3:";
getline(cin,str3);
string::size_type loc=str1.find(str2,0);
while(loc!=string::npos)
{
// str1.erase(loc,str2.length());
// str1.insert(loc,str3);
str1.replace(loc,str2.length(),str3);
loc=str1.find(str2,loc);
};
cout<<"New str1 is:"<<str1<<endl;
return 0;
}
posted @ 2008-12-09 15:32  mzlogin  阅读(177)  评论(0编辑  收藏  举报