一文带你入门ini格式

INI 格式配置文件基础知识 INI是英文“初始化”(initialization)的缩写,它是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中,这种配置文件的文件扩展名多为INI。INI文件被用来对操作系统或特定程序初始化或进行参数设置。现在已成为许多配置的非正式标准,其它操作系统可能使用 .conf 或 .cfg 作为后缀。本文章包含INI 格式配置文件内容、结构和语法等内容。 阅读详情
AI摘要

本文介绍了如何利用inih库解析ini文件,管理设备节点,包括添加新设备、配置GPIO状态等,展示了C语言示例代码,强调了inih库的跨平台、体积小和灵活性等特点。

引入:


以蜂鸣器为例,每次我们增加新的设备,


都需要添加两个新文件:


修改程序代码,手动添加:

缺点: 不利于维护

设备类节点直接通过ini文件配置


 什么是.ini文件


ini文件通常以纯文本形式存在,并且包含了一个或多个节(sections)以及每个节下的键值对(keyvalue pairs)。这些键值对用来指定应用程序的各种设置。
比如Linux系统里就有非常多这类格式的文件,如Linux下的打印机服务程序启动配置文
件/lib/systemd/system/cups.service:
 

举例:

cat /lib/systemd/system/dbus.service 


这种.server文件的格式就是 ini格式

[字段]
若干 键值对(key = value)

[sesction]
name = key

[Install]
Also=cups.socket cups.path
WantedBy=printer.target multi-user.target
 

在配置ini之前我们需要 安装ini文件对应的解析库 inih

inih解析库介绍

inih 是一个轻量级的 C 库,用于解析 INI 格式的配置文件。这个库由 Ben Hoyt 开发,并在 GitHub 上提供源 代码( https://github.com/benhoyt/inih )。 inih 库的设计目标是简单易用,同时保持最小的依赖性。

特点

以下是关于 inih 库的一些特点:
跨平台: inih 库是跨平台的,可以在多种操作系统和编译器环境下使用。
【 C++ ini配置文件的格式及读写操作】 C++ 配置文件 阅读详情

相关推荐

INI配置文件的格式

为什么要用INI文件? 如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。 本文主要是为读者在实现读写INI配置文件模块之前,提供有关INI文件的格式信息。

gateway6143的专栏 1万+

INI文件的格式

.ini 文件是windows的系统配置文件,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。   除了windows现在很多其他操作系统下面的应用软件也有

prettyshe的专栏 1761

INI是什么意思?INI文件格式是什么【编程

它是一种通用的配置文件格式,用于存储和管理程序的配置信息。通过INI文件,我们可以方便地管理和修改程序的各种配置选项,使程序更加灵活和易于维护。INI文件格式在编程中扮演着重要的角色,用于存储和管理配置信息。INI文件以纯文本形式存储,可以包含各种配置项和值,以及相关的节(section)和注释。插件/扩展配置文件:用于存储插件或扩展的配置信息,如插件的启用状态、扩展的功能选项等。多语言翻译文件:用于存储多语言应用程序的翻译文本,通过不同的节和键值对应不同的语言。二、INI文件的基本结构。

ByteNinja的博客 4058

西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践

本文详细解析了西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践。通过实际案例和代码示例,介绍了状态机的基础认知、硬件配置、逻辑开发、调试技巧以及与MES系统集成的高级应用,帮助工程师高效实现设备自动化控制。

weixin_29255731的博客 528

百度新闻评论内容抓取

通过抓包分析发现,百家号手机app端文章评论内容接口为:https://ext.baidu.com/api/comment/v1/comment/getlist?appid=101&sid=1008524_2-1010050_1-1007549_23033-1007550_23035&cuid=01B5EAF73E8A83BB842BE04E4FB6C656|23200201047...

codingforhaifeng的博客 2420

从零到一:Quartus II连接开发板实战,打通绘图、管脚分配、编译与下载全链路

本文详细介绍了使用Quartus II软件连接FPGA开发板并完成首个项目的全流程。从硬件连接到驱动安装,到绘制电路框图、精准分配管脚,再到编译设置与最终下载,手把手指导您打通从设计到硬件实现的完整链路,是FPGA初学者的实战入门指南。

mqtt6iot的博客 717

Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析

CRM中的“Leads”是什么?笔者在文中不仅较为全面地介绍了相关术语概念,还分析了线索的创建与清洗、线索的分级模型、线索流转策略以及线索的统计与分析。

盼盼学士 5954

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

锂电池剩余使用寿命预测(RUL) | 基于Stacked-LSTM-Autoencoder的锂电池寿命多变量多步预测(Tensorflow)

锂电池剩余使用寿命预测(RUL) | 基于Stacked-LSTM-Autoencoder的锂电池寿命多变量多步预测(Tensorflow)

前程算法屋的博客 851

深度学习论文: Towards Total Recall in Industrial Anomaly Detection

在大规模工业制造中,能够准确检测出有缺陷的零件至关重要。我们在这项工作中面临的一个特殊挑战是冷启动问题:仅使用正常的示例图像来训练模型。虽然可以针对每个类别手动设计解决方案,但我们的目标是构建能够自动适用于多个任务的系统。最佳的方法是将ImageNet模型的嵌入特征与异常检测模型结合起来。在本文中,我们在这一研究基础上进行了扩展,并提出了PatchCore,它利用了一个具有最大代表性的正常补丁特征内存库。通过这种方法,我们能够更好地解决冷启动问题,并提高系统在多任务上的性能。

mingo_敏 1874

基于潜在空间分数匹配的混合型表格数据合成方法

然而,在我们的模型中,β 预计会更小,因为我们不需要嵌入的分布精确地遵循标准高斯分布,因为我们还有一个额外的扩散模型。受 Transformer 在表格数据分类/回归任务中取得成功的启发,我们首先为每一列学习一个独特的标记器,然后将标记(列)级表示输入到 Transformer 中,以捕捉列之间错综复杂的关系。在第 4 节中,我们证明了通过这种设计,TABSYN 可以在不到 20 次函数评估(NFE)的情况下生成高质量的合成表格数据,这比其他基于扩散的表格数据合成方法要少得多。是标记器的可学习参数。

步子哥的博客 853

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: UDEV规则配置usb摄像头
下一篇: 智能家居6 -- 配置 ini文件优化设备添加
mx_jun
博客等级 码龄5年 1604粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值