嵌入式学习39-程序创建数据库及查找

1.sqlite3_open
    int sqlite3_open(
        const char *filename,   /* Database filename (UTF-8) */
        sqlite3 **ppDb          /* OUT: SQLite db handle */
    );
    功能:
            打开  数据库文件(创建一个数据库连接)
    参数:
        filename:                                                                                                                                                           数据库文件路径 
        ppDb:                                                                                                                                                          操作  数据库指针  存放空间的首地址
    返回值:
        成功  返回  SQLITE_OK
        失败  返回  错误码

2.sqlite3_close 
    int sqlite3_close(sqlite3*);
    功能:
        关闭  数据库连接

3.sqlite3_exec 
    int sqlite3_exec(
        sqlite3*,                                  /* An open database */
        const char *sql,                           /* SQL to be evaluated */
        int (*callback)(void*,int,char**,char**),  /* Callback function */
        void *,                                    /* 1st argument to callback */
        char **errmsg                              /* Error msg written here */
    );
    功能:
            执行一条SQL语句
    参数:
        sqlite3*:                                                                                                                                                           数据库  句柄

句柄:                                                                                                                                                         是一个用来  标识对象或者项目标识符,可以用来描述窗体、文件等                                             还有注意  句柄(Handle) 不是常量
        sql:                                                                                                                                                           要执行的  SQL语句  字符串首地址
        callback: (回调函数)                                                                                                                                     只有在  select  时才会使用           (匹配数据)                                                                                其余  调用时传递   NULL
        void*:                                                                                                                                                          给 回调函数  的  传参
        errmsg:                                                                                                                                                          出错信息   存放空间首地址  (使用完毕后使用sqlite3_free释放空间)
    返回值:
        成功  返回  SQLITE_OK
        失败返回错误码 

                                                      callback

strstr:子字符串查找

strstr函数声明:

char *strstr( const char *str1, const char *str2 );

练习:
    实现将dict.txt文件中的所有单词和含义插入到数据库中

5.调试段错误:
    1.根据给定链接设置系统允许生成core文件
    2.编译代码时加入-g选项
        gcc filename.c -g -lsqlite3 
    3.执行代码让代码产生段错误(会生成一个包含错误信息的core文件)
    4.使用gdb调试core文件
        gdb a.out core 
    5.可以直接看到产生段错误的代码的位置

6.html

meta:设置编码格式
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】基础 IO(文件描述符)-- 详解

一、前言 1、文件的宏观理解 文件在哪呢? 从广义上理解,键盘、显示器、网卡、声卡、显卡、磁盘等几乎所有的外设都可以称之为文件,因为 “Linux 下,一切皆文件”。 从狭义上的理解,文件在磁盘(硬件&#…

【博士每天一篇文献-综述】Brain network communication_ concepts, models and applications

阅读时间:2023-12-1 1 介绍 年份:2023 作者:Caio Seguin,Olaf Sporns印第安纳大学心理与脑科学系 期刊: nature reviews neuroscience 引用量:33 中文翻译参考:https://swarma.org/?p44524 …

深度学习pytorch——Tensor维度变换(持续更新)

view()打平函数 需要注意的是打平之后的tensor是需要有物理意义的,根据需要进行打平,并且打平后总体的大小是不发生改变的。 并且一定要谨记打平会导致维度的丢失,造成数据污染,如果想要恢复到原来的数据形式,是需要…

力扣细节题:字符串中的最大奇数

奇数只要找到第一位是奇数的即可,不是找单个数字 //即从最低位开始,找到第一位为奇数的位 //然后之前的就是需要的数字char * largestOddNumber(char * num){int i strlen(num) - 1;while(i > 0){if((num[i] - 0) % 2 1)break;i--;}//先找到低位开…

Spring Boot中application配置文件的生效顺序

Spring Boot的一个重要特性就是它的自动配置,这一特性在很大程度上依赖于名称为application的配置文件。本文将详细介绍在Spring Boot中,这些配置文件的加载顺序以及每份文件的应用范围。 文章目录 配置文件的种类配置文件的加载顺序配置文件的环境切换 …

Win10系统使用IIS服务搭建WebDAV网站结合内网穿透公网访问本地文件

文章目录 推荐1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功总结: 推荐 前些天发现了一个巨牛的人工智能…

Python爬虫与数据可视化源码免费领取

引言 作为一名在软件技术领域深耕多年的专业人士,我不仅在软件开发和项目部署方面积累了丰富的实践经验,更以卓越的技术实力获得了🏅30项软件著作权证书的殊荣。这些成就不仅是对我的技术专长的肯定,也是对我的创新精神和专业承诺…

Docker 哲学 - 容器操作 -cp

1、拷贝 容器绑定的 volume的 数据,到指定目录 2、匿名挂载 volume 只定义一个数据咋在容器内的path,docker自动生成一个 sha256 的key作为 volume 名字。这个 sha256 跟 commitID 一致都是唯一的所以 ,docker利用这个机制,可以…

AI大浪潮,怎能少了国产HBM内存?

据有关报道显示,武汉新芯半导体制造有限公司(XMC)正在启动一项专注于开发和生产高带宽内存(HBM)的项目。 HBM作为一种关键的DRAM类型,对于人工智能(AI)和高性能计算(HPC&…

Python自动获取指定上市公司的所有财务数据(资产负债表,利润表,现金流量表)

案例背景 很多经管类同学找财务数据都很困难,去找一个个查找特定的公司,然后又要去同花顺或者东方财富网一年一年的去查看报表,一年一年的数据一个个填入...太慢了。 tushare能获取金融数据的接口,他有资产负债表,利…

upload-labs第一关

上一篇文章中搭建好了upload-labs环境,接下来进行第一关的尝试,我也是第一次玩这个挺有意思。 1、第一关的界面是这样的先不看其他的源码,手动尝试下试试。 2、写一个简单的php一句话木马 3、直接上传,提示必须要照片格式的文…

HarmonyOS(鸿蒙)ArcUI组件

方舟开发框架(简称ArkUI)为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面…

蓝桥杯单片机快速开发笔记——矩阵键盘

一、原理分析 二、思维导图 三、示例框架 定义了四个位控制变量,用于控制键盘扫描时的行列信号。 在Scan_Keys()函数中,首先设置行列信号,将其中一个行信号置为0,另一个行信号置为1,同时将列信号置为1,用于…

【Redis知识点总结】(四)——如何保证缓存与数据库中的数据一致性

Redis知识点总结(四)——如何保证缓存与数据库中的数据一致性 更新缓存删除缓存先删除缓存后更新数据库先更新数据库后删除缓存 使用canal总结 面试会经常遇到这种问题:你们如何保证缓存与数据库中的数据一致性?或者是&#xff1a…

*波动数列c++

题目 输入样例: 4 10 2 3输出样例: 2样例解释 两个满足条件的数列分别是2 4 1 3和7 4 1 -2。 思路 上来先理解题意,本题求的是“长度为n 总和为s的……数列的数目”。 假设第一项为x,增加 a 或者减少 b用di表示,…

【Spring Boot 源码学习】深入应用上下文初始化器实现

《Spring Boot 源码学习系列》 深入应用上下文初始化器实现 一、引言二、往期内容三、主要内容3.1 spring-boot 子模块中内置的实现类3.1.1 ConfigurationWarningsApplicationContextInitializer3.1.2 ContextIdApplicationContextInitializer3.1.3 DelegatingApplicationConte…

【智能算法】斑鬣狗优化算法(SHO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过。 3.代码实现4.参考文献 1.背景 2017年,Dhiman等人受到斑鬣狗自然狩猎行为启发,提出了斑鬣狗优化算法(Spotted Hyena Optimizer, SHO)。 2.算法原理 2.1算法思想 SHO将斑鬣狗狩猎行为分为围捕-狩猎-进攻三…

Python入门(三)

序列 序列是有顺序的数据集合。序列包含的一个数据被称为元素,序列可以由一个或多个元素组成,也是可以没有任何元素的空序列。 序列的类型 元组(定值表):一旦建立,各个元素不可再更变,所以一…

Wireshark抓包工具的使用

提示:本文为学习记录,若有错误,请联系作者,谦虚受教 文章目录 前言一、下载二、首页三、使用1.读入数据2.分析数据3.筛选IP4.保存数据 四、过滤器表达式五、TCP总结 前言 低头做事,抬头看路。 一、下载 下载路径wire…

【论文笔记合集】LSTNet之循环跳跃连接

本文作者: slience_me LSTNet 循环跳跃连接 文章仅作为个人笔记 论文链接 文章原文 LSTNet [25] introduces convolutional neural networks (CNNs) with recurrent-skip connections to capture the short-term and long-term temporal patterns. LSTNet [25]引入…