设为首页 加入收藏

TOP

c++ 单词转换 map对象
2015-11-21 00:58:19 来源: 作者: 【 】 浏览:1
Tags:单词 转换 map 对象
#include 
#include #include #include #include #include using namespace std; ifstream& openfile(ifstream &in,const string &filename){ in.close();//close in case it was alrady open in.clear();//clear any existing errors in.open(filename.c_str());//open the file we were given //in要么于指定文件绑定起来了,要么处于错误条件状态 return in;//condition state is good if open succeeded } int main(int argc,char** argv) { map trans_map; string key,value; ifstream map_file; if(!openfile(map_file,transform.txt)){ throw runtime_error(no transformation file); } //read the tansformation map and build the map while(map_file>>key>>value){ trans_map.insert(pair (key,value)); } ifstream input; if(!openfile(input,source.txt)){ throw runtime_error(no input file); } string line;//hold each line from the input //read the text to transform it a line at a time while(getline(input,line)){ istringstream stream(line); //read the line a word at a time string word; //读字符串流 bool lineFirst=true;//controls whether a space is printed while(stream>>word){ //ok:the actual mapwork,this part is the heart of the program map ::const_iterator iter=trans_map.find(word); if(iter!=trans_map.end()){ //replace it by the transformation value in the map word=iter->second; } if(lineFirst){ cout<

transform.txt文件内容:

?

em them
cuz because
gratz grateful
i I
nah no
pos	supposed
sez said 
tanx thanks
wuz was

source.txt文件内容:

?

?

nah i sez tanx cuz i wuz pos to
not cuz i wuz gratz

?

程序运行输出:

\

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 1469(裸二分匹配) 下一篇poj 2240 floyd算法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: