【问题标题】:Is there a way for reading key value on many lines from a file?有没有办法从文件中读取多行的键值?
【发布时间】:2014-02-05 09:16:19
【问题描述】:

我有以下配置文件:

 [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) 读取所有子网,但这个函数只读取一行。

【问题讨论】:

  • 看起来像一个 .ini 样式的配置。你可以试试iniparser:github.com/ndevilla/iniparser
  • 是的,但我需要在 linux os 上使用 glib 库。谢谢

标签: c linux glibc glib


【解决方案1】:

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

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

如果您要使用他们的 API,请转换文件以符合所需的 glib 格式。请注意,一旦您将文件保存回来,它使用 glib API,因此“欺骗”它以加载其他内容毫无意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多