STL string erase操作 和 insert操作 的运用
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <cctype>
#include <algorithm>
#include <cmath>
using namespace std;
///
#define INF 0xffffff7
#define MAXN 200
///
int n;
string origin[20], replacem[20];
int main()
{
freopen("F:\\input.txt","r",stdin );
///
int i, j, th;
while (1)
{
cin >> n;
cin.ignore();
if (n == 0)
break;
for (i = 0; i < n; i++)
{
getline(cin, origin[i]);
getline(cin, replacem[i]);
}
string text;
getline(cin, text);
for (i = 0; i < n; i++)
{
int find_result;
while ( (find_result = text.find(origin[i])) != text.npos)
{
text.erase(text.begin() + find_result, text.begin() + find_result + origin[i].size());
text.insert(find_result, replacem[i]);
}
}
cout << text << endl;
}
///
return 0;
}