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定位下一次读取位置. 文件 ...
随机推荐
- JS 实现四舍五入保留两位小数并且添加千位分隔符
var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...
- PeopleSoft单点登录工作原理
单点登录是指用户在仅通过一次身份验证后,可以在多个应用程序中自由切换. 这意味着用户只需要一次登录信息,只要他点击指向其他应用程序的链接,安全信息就会自动从一个应用程序传递到另一个应用程序,用户就不会 ...
- 排错-Error--memory violation Exception ACCESS_VIOLATION received解决方
Error -- memory violation : Exception ACCESS_VIOLATION received by:授客 QQ:1033553122 测试代码: Action() ...
- android踩坑记录之view.setVisiblity()
问题 在某次做悬浮侧边栏的时候,遇到了一个问题:我用windowManager创建的悬浮侧边栏.点击中心view展开菜单,再次点击则隐藏菜单,如此简单的一个需求,却遇到了奇怪的问题,我没有对view的 ...
- 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
去掉maven前面的work offline模式
- linq not in 查询
想要的sql: select A.* from BL_BCSS_Invoice A join BL_BCSS_OfflineInvoice B on A.ID!=B.InvoiceID; 不知道如何写 ...
- sql server 日期时间与字符串的转换
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- EmEditor的一个好用的正则替换功能
最近在编辑文本的时候用到了EmEditor的一个好用的正则替换功能.即我想用搜索到内容的一部分来生成另一段文本.例如客户提供给我一大堆MYSQL的建立主键的脚本,我想改成MSSQL的建立主键的脚本,这 ...
- How to Be Assertive Asking for What You Want Firmly and Fairly
What Is Assertiveness? It's not always easy to identify truly assertive behavior. This is because th ...
- jQuery插件实例四:手风琴效果[无动画版]
手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是 ...