有没有办法从文件中读取许多行的键值?

时间:2014-02-05 09:16:20

标签: c linux glibc glib

我有以下配置文件:

 [GENERAL_CONFIG]
    filter_subnetworks = 192.168.105.0/24 1.1.0.0/16 192.168.105.0/24
    192.168.105.0/24 1.1.0.0/16 192.168.105.0/24 
    192.168.105.0/24 1.1.0.0/16 192.168.105.0/24 

我希望用g_key_file_get_string_list (gkf, "GENERAL_CONFIG", "filter_subnetworks", &s_len, &error)读取所有子网,但此功能只读一行。

1 个答案:

答案 0 :(得分:0)

您的输入文件似乎不符合glib Key-value file parser函数所需的格式。

所有键值都应该在一行上,并且您应该有一个明确的列表分隔符(而不仅仅是空格),例如;,,请参阅g_key_file_set_list_separator()函数。

如果您打算使用他们的API,请将文件转换为符合所需的glib格式。请注意,只要您将文件保存回来,使用glib API,因此“欺骗”它以加载其他内容时没什么意义。