这个程序的功能是这样的:给定一个string,将它转换为另一个string,程序的输入是两个文件。第一个文件保存的是一些规则,用来转换第二个文件中的文本,每条规则有两部分组成--一个可能出现在输入文件中的单词和一个用来替换为对应的短语,第二个输入文件包含要转换的文本。
程序如下:
#include <iostream>
#include <map>
#include <vector>
#include <string>
#include <sstream>
#include <fstream>
map<string, string> buildMap(ifstream &map_file) //读入给定rules.text文件,建立转换映射
{
map<string, string> trans_map; //保存转换规则
string key; //要转换的单词
string value; //替换后的内容
//读取第一个单词存入key中,行中剩余内容存入value
while (map_file >> key && getline(map_file, value))
if (value.size() > 1) //检查是否有转换规则
trans_map[key] = value.substr(1);
else
throw runtime_error("no rule for " + key);
return trans_map;
}
const string &transform(const string &s, const map<string, string> &m)
{

本文介绍了一个C++程序,该程序利用map数据结构读取两个输入文件,将一个文件中的规则应用于另一个文件中的文本进行单词转换。规则文件包含原始单词及其对应的替换短语,而第二个文件包含待转换的文本。为了简化测试,文章提供了简化版的程序,便于快速体验程序效果。
最低0.47元/天 解锁文章
788

被折叠的 条评论
为什么被折叠?



