c - 有没有办法从文件中读取多行键值?

标签 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) 读取所有子网,但此函数读取一行。

最佳答案

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

所有键值都应该在一行上,并且应该有一个显式的列表分隔符(不仅仅是空格),例如 ;,,请参阅 g_key_file_set_list_separator()功能。

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

关于c - 有没有办法从文件中读取多行键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21572950/

相关文章:

c++ - 2D OpenGL 场景因大量重叠形状而变慢

C: 将 strtok token 分配给 char * 段错误

C程序: pass function as parameter to another function to create thread

linux - 将 ext4 文件系统的文件名大小限制扩展到 1012 个字符

glibc - 为什么相同的二进制文件需要在一台 64 位 RHEL 5.4 服务器上使用 linux-vdso.so.1,而不是在另一台服务器上?

C 编程 : calling free() on error?

c++ - 母题库(C)的列包装RowColumn类?

linux - 使用 Mono(开源 .NET)开发 Web 应用程序有什么例子吗?

linux - 在 Linux Mint 上更新 glibc 以进行 sbcl 安装

c - 检测到 glibc,realloc() : invalid pointer