#include<iostream>
#include<fstream>
#include<map>
#include<string>
using namespace std;
int main()
{
map<string,string>transmap;
ifstream is;
is.open("E:\\coding\\String\\Debug\\2.txt");
char st[100]={0};
while(is>>st)
{
string key=st;
is>>st;
string value=st;
transmap[key]=value;
}
map<string,string>::iterator it;
//检测输入是否成功
for(it=transmap.begin();it!=transmap.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
}
is.close();
ifstream ip;
ofstream os;
os.open("E:\\coding\\String\\Debug\\1.txt",ios::app);
os<<endl;
ip.open("E:\\coding\\String\\Debug\\1.txt");
while(ip>>st)
{
it=transmap.find(st);
if(it!=transmap.end())
{
os<<it->second<<" ";
}
else
os<<st<<" ";
}
os.close();
ip.close();
return 0;
}
该代码是将2.txt中定义的需要转换的字符对读取到map容器中,读入1.txt中的文本,按照map中映射的字符对1.TXT中的响应字符修改掉
其中2.TXT中的内容为
'em them
cuz because
gratz grateful
i I
nah no
pos supposed
sez said
tanx thanks
wuz was
1.txt中的文本为
nah i sez tanx cuz i wuz pos to not cuz i wuz gratz
进行转换后的文字为:no I said thanks because I was supposed to not because I was grateful