当前位置: 首页 > 工具软件 > iniparse > 使用案例 >

iniparse 学习系列 1 —— 简介

陆光济
2023-12-01


前言

iniparse 是 GitHub 上的一个开源项目,使用 C 语言编写,用于解析 INI 文件。

仓库地址:https://github.com/ndevilla/iniparser


一、iniparse 特点

– 体积小巧
iniparse 体积非常小巧,只有 4个文件,代码不超过1500行。

dictionary.c
dictionary.h
iniparser.c
iniparser.h

– 便于移植
iniparse 纯C语言编写,遵循 ANSI C 标准,而且不依赖其他外部的库,非常易于移植到不同的平台。

– 线程安全
从版本4开始,iniparser被设计成线程安全的,可以围绕它处理你自己的互斥逻辑。


二、INI 文件

1. 简介

INI 文件是初始化文件 Initialization File的缩写,通常以 .ini 为后缀。INI 文件中使用 ASCII 码描述用户参数,支持字符串,整数、浮点数、布尔值等数据类型,易于用户使用和修改。

说白了 INI 文件就是一个遵循一定格式的文本文件,所以 INI 文件的后缀名也不一定是 “.ini”,也可以是 “.cfg”,".conf ”甚至是 “.txt” 。


2. 格式

INI 文件由 section 、parameters 和 comment 这3部分组成。


– section

section 是 INI 文件的基本单位,一个 INI 文件通常由一个或若干个 section 组成,所有的 parameters 都以sections为单位结合在一起,section 没有明显的结束标志,通常一个 section 的开始就是上一个 section 的结束。

section 格式如下:

[Section Name]

section 的名称使用方括号 [ ] 括住,独占一行,名称允许包含除方括号或换行外的任何字符。

– parameters

INI 文件的参数是一个键值对,参数的格式如下:

key = value

从该参数开始向上搜索,距离最近的一个 section 就是该参数所属的 section 。

– comment

INI 文件中的注释有一下几种形式:

以#号开头的行
空白行(只有空白或制表符)
分号后面的文字,直到该行结尾都全部为注释

2. 例子

#
# This is an example of ini file
#

[Pizza]

Ham       = yes ;
Mushrooms = TRUE ;
Capres    = 0 ;
Cheese    = Non ;


[Wine]

Grape     = Cabernet Sauvignon ;
Year      = 1989 ;
Country   = Spain ;
Alcohol   = 12.5  ;
 类似资料: