QT案例词典 -- 存储内容及遍历

简介: QT案例词典 -- 存储内容及遍历

一、字典内容就三个词


a:第一个字母


b:第二个字母


C:第三个字母


#define MAX 3



二、定义一个词的机构体


struct dict
{
    char *key;
    char* content;
};


三、存储三个词


void get_dict(struct dict **tmp)
{
    //在堆区分配MAX个结构体空间
    *tmp = (struct dict*)malloc(MAX * sizeof(struct dict));
    if (*tmp==NULL) {
   
        return;
    }
    //设置结构体内容,
    //第0个结构体,放第0个单词
    (*tmp)[0].key = (char*)malloc(strlen("a") + 1);
    strcpy_s((*tmp)[0].key,strlen("a")+1, "a");
    (*tmp)[0].content = (char*)malloc(strlen("第一个字母") + 1);
    strcpy_s((*tmp)[0].content, strlen("第一个字母") + 1, "第一个字母");
    //第1个结构体,放第1个单词
    (*tmp+1)->key = (char*)malloc(strlen("b") + 1);
    strcpy_s((*tmp + 1)->key, strlen("b") + 1, "b");
    (*(*tmp+1)).content = (char*)malloc(strlen("第二个字母") + 1);
    strcpy_s((*(*tmp + 1)).content, strlen("第二个字母") + 1, "第二个字母");
    //第2个结构体,放第2个单词
    (*tmp + 2)->key = (char*)malloc(strlen("c") + 1);
    strcpy_s((*tmp + 2)->key, strlen("c") + 1, "c");
    (*(*tmp + 2)).content = (char*)malloc(strlen("第三个字母") + 1);
    strcpy_s((*(*tmp + 2)).content, strlen("第三个字母") + 1, "第三个字母");
}


四、遍历内容


void print_dict(struct dict *tmp)
{
    int i = 0;
    for (i=0;i<MAX;i++)
    {
        printf("[%s]%s\n", tmp[i].key, tmp[i].content);
    }
   
}


五、调用


struct dict* p = NULL;
//1、给p分配空间,分配完空间后,需要设置内容
get_dict(&p);//通过函数分配空间
//2、遍历字典
print_dict(p);


六、运行结果


0a2653c851af460fa595bd959398a8f1.png

目录
相关文章
|
8月前
|
IDE 开发工具 C++
QT案例IDE编写 -- 创建项目
QT案例IDE编写 -- 创建项目
95 0
|
6月前
|
网络协议
Qt中的网络编程(Tcp和Udp)运用详解以及简单示范案例
Tcp和Udp是我们学习网络编程中经常接触到的两个通讯协议,在Qt也被Qt封装成了自己的库供我们调用,对于需要进行网络交互的项目中无疑是很重要的,希望这篇文章可以帮助到大家。 是关于Qt中TCP和UDP的基本使用和特点:
948 7
|
6月前
|
JSON 自然语言处理 网络协议
基于QT实现的词典(附源码)
主要用到的技术:JSON字符串,堆栈窗体(方便以后加新功能),QTcpSocket,LcdNumber,时间戳的转换。 通信用的是TCP通信,将TCP封在了一个头文件中,哪个文件想去通过TCP链接发送消息就可以使用头文件 QT端写的是客户端,服务器还是在我笔记上次的Linux系统下写的服务器,做了一些小修改
115 0
|
6月前
|
开发者
Qt中的事件该如何学习?(附带案例)
事件是Qt中比较重要的一部分,在初期如果理解不当学习可能会比较困难,这里提一嘴当初教我的那位老师水平是真的高,让我很轻易的就理解了事件的概念。 在平时我们见到那些界面上的某些快捷键就有可能是事件做的,例如ESC关闭窗口,Enter提交或者登录这种类似的,这也是事件的强大之处。
148 0
|
8月前
|
编解码 IDE 开发工具
QT案例IDE编写 -- 另存为操作及编辑操作
QT案例IDE编写 -- 另存为操作及编辑操作
107 0
|
6月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
218 1
|
5月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
137 0