C++使用map容器实现电子词典
短信预约 -IT技能 免费直播动态提醒
目的
学习使用map容器
map容器
可以理解为:一种映射,一对一(例如x对y),可以通过x查询到唯一对应的y。
本文实现的功能
读取电子词典的文件,一对一压入map容器中(即英文对应中文解释),
然后通过英文,获得中文含义,以达到电子词典的功能。
代码思想
1、打开电子词典的text文本文件;
2、使用按行读取文件中的内容(文件中一行,代表一个单词以及中文解释);
3、将读取到的数据通过sscanf函数进行拆分(通过空格判断拆分),将英文与中文分开,一对一存入map容器中
4、循环执行2、3步,直到读到文件末尾结束;
5、输入单词,使用map容器的函数去查询得到中文解释。
实现代码
#include <iostream>
using namespace std;
//#define _CRT_SECURE_NO_WARNINGS
#pragma warning (disable:4996)//用来屏蔽sscanf的警告
#include <map>
#include <fstream>
int main()
{
map<string, string> wordDict;
fstream fs;
fs.open("dict.txt", ios::in);
char buf[1024] = { 0 };
char key[200] = { 0 };
char value[200] = { 0 };
while (fs.peek() != EOF)
{
fs.getline(buf, 1024);
sscanf(buf, "%s %s", key, value);
wordDict.insert(pair<string, string>(key, value));
}
cout << wordDict.size() << endl;
string word;
while (1)
{
cout << "请输入要查询的单词:" << endl;
cin >> word;
int res = wordDict.count(word);
if (res == 0)
{
cout << "未查询到该单词!" << endl;
}
else
{
cout << "单词说明如下:" << endl;
cout << wordDict[word] << endl;
}
}
return 0;
}
效果图
电子词典的文件截图:
运行结果:
到此这篇关于C++使用map容器实现电子词典的文章就介绍到这了,更多相关C++ map电子词典内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341