map的综合例子
#include<iostream>
#include<string>
#include<map>
#include<fstream>
#include<sstream>
using namespace std;
map<string,string> buildMap(ifstream &map_file);
const string &transform(const string &s,const map<string,string> &m);
void word_transform(ifstream &map_file,ifstream &input)
{
auto trans_map=buildMap(map_file);//保存转换规则
string text; //保存输入中的一行
while(getline(input,text)) //读取一行输入
{
istringstream stream(text); //读取每个单词
string word;
bool firstword=true; //控制是否打印空格
while(stream>>word){
if(firstword)
firstword=false;
else
cout<<" "; //在单词间打印一个空格
cout<<transform(word,trans_map); //打印输出
}
cout<<endl; //完成一行的转换
}
}
map<string,string> buildMap(ifstream &map_file)
{
map<string,string> trans_map; //保存转换规则
string key; //要转换的单词
string value; //替换后的内容
while(map_file>>key&&getline(map_file,value))//读取第一个单词存入key中,行中剩余内容存入value
if(value.size()>) //检测是否有转换规则
trans_map[key]=value.substr(); //跳过前导空格
else
throw runtime_error("no rule for "+key);
return trans_map;
}
const string & transform(const string &s,const map<string,string> &m)
{
auto map_it=m.find(s); //实际转换规则
if(map_it!=m.cend()) //如果单词在转换规则map中
return map_it->second; //使用替换短语
else
return s; //否则返回原string
}
int main()
{
ifstream in1("1.txt");
ifstream in2("2.txt");
word_transform(in1,in2);
return ;
}
k okay?
y why
r are
u you
pic picture
thk thanks!
l8r later
以上是1.txt
where r u
y dont u send me a pic
k thk l8r
以上是2.txt
map的综合例子的更多相关文章
- SpringBoot AOP综合例子
完整源码:https://github.com/947133297/cgLibDemo 通过AOP来便捷地输出日志,能更加方便排查系统的bug,这个例子中简单输出自定义文件和函数执行时的参数,函数要不 ...
- 图像变化之Laplacian()函数 and Schaar()滤波及综合例子
先来 Laplacian()函数 #include<math.h> #include<opencv2/opencv.hpp> #include<string.h> ...
- SharpGL学习笔记(十一) 光源创建的综合例子:光源参数可调节的测试场景
灯光的测试例子:光源参数可以调节的测试场景 先看一下测试场景和效果. 场景中可以切换视图, 以方便观察三维体和灯光的位置.环境光,漫射光,镜面反射光都可以在四种颜色间切换. 灯光位置和摄像机位置(Lo ...
- SharpGL学习笔记(八) 矩阵堆栈和变换的综合例子: 机器人
我们先引入关于"矩阵堆栈"的官方说法: OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域.实际上,在创建.装入.相乘模型变换和投影变换矩阵时,都已用到堆栈操作 ...
- map用法小例子
一. Map< Key , Value > m_Eg; 一般赋值表示成: TypeElem value; m_Eg[key] = value; 或 m_Eg.insert(make_ ...
- java基础 数组 Set Map 集合综合应用 生成带0的随机字符串 "00000001" 水果商品号问题
package com.swift.test01; /*有四种水果(苹果,香蕉,西瓜,橘子) 1.给每种水果设定一个商品号,商品号是8个0-9的随机数,商品号码不能重复, 最小值 "0000 ...
- R与数据分析旧笔记(二)随机抽样的一个综合例子
题目:模拟产生统计专业同学的名单(学号区分),记录数学分析.线性代数.概率统计三科成绩,然后进行一些统计分析 > num=seq(10378001,10378100) > num [1] ...
- JSTL如何遍历Servlet传过来的list和map,用例子说明
后端 List<Article> list = dao.getPageList(nameid,Integer.parseInt(page)); request. ...
- 6.6(java学习笔记)文件分割(IO综合例子)
基本思路: 文件分割:将一个文件分割成若干个独立的文件. 设置分割后小文件文件的字节数,然后读取被分割文件, 将对应的字节数写入分割后的小文件中. 使用seek定位下一次读取位置. 文件 ...
随机推荐
- 从零开始学习html(十四)单位和值
一.颜色值 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <tit ...
- img,a,锚链接,超链接
1.图片标签:img,单标签 图片属性: src(source): 图片的来源(路径),可以放置本地图片,也可以放网上的图片的url地址 title: 当鼠标停留在图片上的时候,显示提示的文字 alt ...
- Java 根据出生日期计算年龄
1.把出生日期字符串转换为日期格式. public static Date parse(String strDate) throws ParseException { SimpleDateFormat ...
- 【three.js练习程序】旋转、缩放场景
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- android 解决连接电视机顶盒失败的方法
今天在开发过程中,需要连接海美迪的电视盒子,这个盒子是基于android6.0的版本,之前连接其它电视盒子都正常,当输入 adb -s xxxx shell后,盒子连接失败,日志如下: error: ...
- CSS样式----CSS样式表的继承性和层叠性(图文详解)
本文最初于2017-07-29发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 本文重点 CSS的继承性 CSS的层叠性 计算权重 ...
- python基础学习4----元组
元组又叫只读列表,不可以修改其内容 1.创建元组 tuple1=(1,3,2,4,5) tuple2=()#空元组 tuple3=('a',) #元组中只有一个元素时要在元素后面加上逗号,否则会被当成 ...
- 阿里云centos7.2 lamp配置
安装apache 1.安装yum -y install httpd 2.设置apache服务开机启动systemctl enable httpd.service 3.开启apache服务systemc ...
- String、StringBuffer与StringBuilder的区别-陈远波
String Stringbuffer StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.S ...
- 小渣渣的json和jsonp和ajax的实质和区别
json和jsonp和ajax的实质和区别ajax的两个问题 1.ajax以何种格式来交换数据 2.跨域的需求如何解决 数据跨域用自定义字符串或者用XML来描述 跨域可以用服务器代理来解决jsonp来 ...