我是靠谱客的博主 年轻书包,最近开发中收集的这篇文章主要介绍GKeyFile生成配置文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

还记得Windows使用的配置文件吗?看看boot.ini文件内容


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Windows Server 2003, Standard" /fastdetect /NoExecute=OptOut
C:wubildr.mbr = "Ubuntu"

Linux中提供了功能更为强大的KeyValue数据格式,可用于生成更为灵活的配置文件,下面的代码实例演示了使用GKeyFile生成配置文件,本例代码使用了字符串,布尔值,整型值,双精度值和字符串列表等数据类型,将其写入配置文件中。

#include <glib.h>
#include <stdio.h>

int main(int argc,char** argv){
    GKeyFile* config = g_key_file_new();
    gsize length = 0;
    
#define STARUP "STARTUP"
#define PATH "PATH"

    g_key_file_set_value(config,STARUP,"x","300");
    g_key_file_set_string(config,STARUP,"y","600");
    g_key_file_set_boolean(config,STARUP,"center",TRUE);

    GTimeVal now;
    g_get_current_time(&now);
    g_key_file_set_integer(config,STARUP,"timestamp",now.tv_sec);
    
    GRand* r = g_rand_new();
    g_key_file_set_double(config,STARUP,"random",g_rand_double(r));

    const char* const search_path[] = { "/bin","/sbin","/usr/bin","/usr/local/bin","/home/jcodeer/bin"};
    g_key_file_set_string_list(config,PATH,"bin_path",search_path,5);

    gchar* content = g_key_file_to_data(config,&length,NULL);
    g_print("%sn",content);

    FILE* fp = fopen("./019.ini","w");
    if(fp == NULL) return -1;
    fwrite(content,1,length,fp);
    fclose(fp);

#undef STARUP
#undef PATH

    g_key_file_free(config);

    return 0;
}

生成的INI配置文件内容为:

[STARTUP]
x=300
y=600
center=true
timestamp=1314432584
random=0.78204092288815774

[PATH]
bin_path=/bin;/sbin;/usr/bin;/usr/local/bin;/home/jcodeer/bin;

最后

以上就是年轻书包为你收集整理的GKeyFile生成配置文件的全部内容,希望文章能够帮你解决GKeyFile生成配置文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部