libconfig格式的配置文件怎么读取?
在做一个示波器的简单例子,在qemu for mini2440上运行。
要用到配置文件,格式是libconfig的,类似如下:
sample {
# 抽样数目
count=240
# 抽样总时间. 这里是 10毫秒进行240次抽样
# 根据这个时间和抽样数,可以算出采样频率
duration=0.01
}
# 各个信道是按顺序排放,这里只列出第一和第二信道的信息
# 信道1
channel {
name="Signal truc"
# 耦合方式 : AC 或 DC
coupling=DC
file {
# 与此信道相关连的二进制pcm文件
filename="chan1.pcm"
# pcm文件中数据格式 :
# 16_LE : 16 bits little endian
# 16_BE : 16 bits big endian
# 32_LE : 32 bits little endian
# 32_BE : 32 bits big endian
format=16_LE
# 抽样的电压的最大与最小值
min_voltage=0.0
max_voltage=3.3
}
}
# 信道2
channel {
name="Horloge"
coupling=DC
file {
filename="chan2.pcm"
format_bit=16_LE
min_voltage=0.0
max_voltage=3.3
}
}
不安装libconfig,怎么用C语言读取这样格式的配置文件呢?
谢谢,急!
[解决办法]
1、首先你得建立一个树型的数据结构,类似于这样的结构:
root -- sample -- count(240)
-- duration(0.01)
-- channel -- name("Horloge")
-- file -- filename("chan2.pcm")
-- format_bit(16_LE)
2、然后逐个字符的读取配置文件,遇到'#'字符直到换行符时把它当作注释忽略掉;
3、忽略空白符号,遇到'{'时深入一层,遇到'}'时退出一层;
4、其它的就按照各自的层次,解析出它们的名称和属性值,属性值可以先全部用字符串表达。
[解决办法]
还是.ini 或者.xml的方便。