C++primer 练习11.33:实现你自己版本的单词转换程序
2024-08-27 08:48:59
// 11_33.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<string>
#include<map>
#include<sstream>
#include<fstream>
using namespace std;
//用map文件来建立一个要转换的字符串对应的转换成的字符串
map<string, string> buildMap(ifstream &map_file)
{
map<string, string> ma;
string word;
string convert;
while (map_file >> word&&getline(map_file, convert))
{
ma[word] = convert.substr();
}
return ma;
} //返回一个字符串在map中对应的字符串,如果没有,则返回字符串本身
const string& transform(const string &s, const map<string, string> &m)
{
auto ite = m.find(s);
if (ite != m.end())
return ite->second;
else return s;
} //单词转换函数,输入一个转换文件,和一个输入文件,打印转换后的文本
void word_transform(ifstream &map_file, ifstream &input)
{
map<string, string> ma = buildMap(map_file);
string line, word;
while (getline(input,line))
{
istringstream is(line);
bool wordtag = true;
while (is >> word)
{
if (wordtag)
wordtag = false;
else cout << " ";
cout << transform(word, ma);
}
cout << endl;
}
} int main()
{
word_transform(ifstream("D:\\file\\11.3.6_map.txt"), ifstream("D:\\file\\11.3.6_input.txt"));
return ;
}
最新文章
- iOS根据16进制的色号来设置颜色,适合封装工具类
- MFC 对话框控件自动布局
- android user版本默认开启调试模式
- My Code Snippet
- Git回滚远程版本
- selenium python (十)浏览器多窗口处理
- 2015 NOIP day1 t1 神奇的幻方 模拟
- 【HDOJ】1706 The diameter of graph
- StartUML破解
- CodeForces 543A - Writing Code DP 完全背包
- (中等) HDU 3265 Posters , 扫描线。
- LinkedHashMap遍历
- SNS团队Beta阶段第三次站立会议(2017.05.24)
- jdk8与jdk9的共存
- 移动端效果之CellSwiper
- 复写的Object常用方法
- 转 node.js和 android中java加密解密一致性问题;
- pyhton 学习 函数式编程
- RMAN删除备份
- 【Java】 大话数据结构(15) 排序算法(2) (快速排序及其优化)
热门文章
- HTML5之Canvas绘图实例——饼状图
- Tengine:基于Nginx的衍生版
- 【jmeter】JMeter函数学习
- 高性能MySQL --- 读书笔记(2) - 2016/8/2
- 重绘Winform窗体
- 使用eclipse创建java程序可执行jar包
- 黄聪:解决丢失api-ms-win-crt-runtime-|1-1-0.dll的问题:vc_redist.x64
- 黄聪:chrome扩展开发《AJAX请求》
- MVC entity
- OAF_架构MVC系列4 - Control的概述(概念)