C++使用map容器实现电子词典

 更新时间:2022年11月09日 16:45:18   作者:1点1滴o  
这篇文章主要为大家详细介绍了C++如何使用map容器实现电子词典功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下

目的

学习使用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电子词典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现景区信息管理系统

    C++实现景区信息管理系统

    这篇文章主要为大家详细介绍了C++实现景区信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 深入浅析C/C++ 的条件编译

    深入浅析C/C++ 的条件编译

    条件编译是指预处理的时候根据条件编译的指令有条件的选择源程序中的一部分代码送给编译器进行编译,进行有选择性的操作,防止宏替换的内容重复包含,这篇文章主要介绍了C/C++ 的条件编译,需要的朋友可以参考下
    2022-04-04
  • 深入解析C++编程中的运算符重载

    深入解析C++编程中的运算符重载

    这篇文章主要介绍了C++编程中的运算符重载,运算符重载是C++入门学习中的基础知识,需要的朋友可以参考下
    2016-04-04
  • 一起来了解c语言的str函数

    一起来了解c语言的str函数

    这篇文章主要为大家详细介绍了c语言的str函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • opencv帧差法找出相差大的图像

    opencv帧差法找出相差大的图像

    这篇文章主要为大家详细介绍了opencv帧差法找出相差大的图像,包含访问mat的像素值,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C语言的isatty函数和ttyname函数以及sendmsg函数用法

    C语言的isatty函数和ttyname函数以及sendmsg函数用法

    这篇文章主要介绍了C语言的isatty函数和ttyname函数以及sendmsg函数用法,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • C++中std::invalid_argument报错解决

    C++中std::invalid_argument报错解决

    在C++编程中,std::invalid_argument是一个常见的异常,用于指示函数参数无效,文章详细解析了这一异常的产生原因,并提供了多种解决策略,感兴趣的可以了解一下
    2024-09-09
  • Opencv实现轮廓提取功能

    Opencv实现轮廓提取功能

    这篇文章主要为大家详细介绍了Opencv实现轮廓提取功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C++的四种类型转换

    C++的四种类型转换

    这篇文章主要介绍了C++的四种类型转换,有详细的示例代码展示,对于学习C++的同学有一定的参考价值,感兴趣的同学可以参考本文
    2023-04-04
  • C++面向行输入之get()与getline()实例详解

    C++面向行输入之get()与getline()实例详解

    在c++里当我们输入一个字符串时习惯用cin,但是cin只能读取一段不含空格的字符串,如果我们需要读取一段包含空格的字符串时,就需要用到getline()或get(),下面这篇文章主要给大家介绍了关于C++面向行输入之get()与getline()的相关资料,需要的朋友可以参考下
    2021-10-10

最新评论