【发布时间】:2017-06-01 23:38:10
【问题描述】:
我需要使用 C++ 和 boost 库来解析 ini 文件。该文件包含多键。例如,
[section_1]
key_1=value_1
key_1=value_2
...
key_n=value_n
[section_2]
key1=value_1
key1=value_2
...
key_n=value_1
key_n=value_2
[]
...
[section_n]
...
我尝试使用boost库的功能:函数boost::property_tree::ini_parser::read_ini(),但它不能在ini文件中包含多键并返回异常。所以我尝试使用函数boost::program_options::parse_config_file(),但这不是我需要的。
我应该使用什么功能来解析 ini 文件以及对于每个部分我可以获得具有相关键值的自己的结构?
【问题讨论】:
-
你没有解释什么是“多键”。该示例不一致(看起来您希望拥有
key_1、key_2...、key_n,但也可以是key1、key2...、key<n>甚至@ 987654330@,key1,key1,[]的出现完全无法解释。 -
多键是两个或多个相同的键值。我只是举了一个例子来理解什么是我的例子中的ini文件。我的问题的目的是使用增强功能(如果可用)来访问键的解析值和相应的值,而不会发生冲突键(或多键)。这就是我的意思。
-
您需要向我们展示您希望在解析此类文件后得到的数据结构类型,无论是使用一些 boost 库还是其他任何东西。为您发布的输入添加所需输出的插图。就目前而言,不清楚你在问什么。
-
好的,我将尝试描述我的目的。我有 ini 文件,它会在外面。它包含有关证书链(最终证书、内部证书、CRL 等)的信息,即我的 ini 文件: [cert chain 1] final cert = name cert1 internal cert=name cert2 ... internal cert=name cert_n other keys = . .. [证书链2] ...我需要解析这种类型的ini文件,但是我遇到了解析内部证书的问题,而使用boost的函数property_tree::read_ini()无法解析。我想知道使用 boost 解析这个文件的方法。附:我无法编辑此文件。