十、GkeyFile

1 Ini配置文件

  程序没有任何配置文件,那么它对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,为了让程序出厂后还能根据需要进行必要的配置,所以要用配置文件;配置文件有很多种,如INI配置文件,XML配置文件,cfg配置文件,还有就是可以使用系统注册表等。
  INI就是英文“initialization”的头三个字母的缩写;当然INI file的后缀名也不一定是“.ini”也可以是“.cfg”,“.conf”,".txt"。windows系统中,也存在这类文件,通常后缀名“.ini”。

1.1 Ini格式

  INI文件的格式很简单,最基本的三个要素是:parameters,sections和comments。

1.1.1 Parameters

  INI所包含的最基本的”元素“就是parameter,每一个parameter都有一个name和一个value,如name = value

1.1.2 Sections

  所有的parameters都是以sections为单位结合在一起的。所有的section名称都是独占一行,并且sections名字都被方括号包围着([and])。在section声明后的所有parameters都是属于该section。对于一个section没有明显的结束标志符,一个section的开始就是上一个section的结束,或者是end of the file。Sections一般情况下不能被nested,当然特殊情况下也可以实现sections的嵌套。如 [section]

1.1.3 comments

  在INI文件中注释语句是以分号" ; "开始的。所有的注释语句不管多长都是独占一行直到结束的。在分号和行结束符之间的所有内容都是被忽略的。
;comments text

2 相关函数总结

/* 1.建立一个GKeyFile缓冲区 */
GKeyFile *g_key_file_new  (void);
/* 2.读入文件,填充GkeyFile缓冲区 */
gboolean  g_key_file_load_from_file  (GKeyFile         *key_file,
					     	     	  const gchar      *file,
					     	     	  GKeyFileFlags     flags,
					     	     	  GError          **error);
/* 3.从Key读取字符串 */
gchar    *g_key_file_get_string       (GKeyFile        *key_file,
					    	           const gchar     *group_name,
					     	           const gchar     *key,
					    	           GError          **error);
/* 4.修改缓冲区中key的值 */
void      g_key_file_set_string       (GKeyFile             *key_file,
					                  const gchar          *group_name,
					                  const gchar          *key,
					                  const gchar          *string);
/* 5.将缓冲区数据读出 */
/**	  
  * @length:存储返回字符串的长度
  * @return: 缓冲区内容
 */
gchar    *g_key_file_to_data          (GKeyFile             *key_file,
					                   gsize                *length,
				                       GError              **error)

/* 6. 字符串内容写入到文本 */
gboolean g_file_set_contents (const gchar *filename,
                              const gchar *contents,
                              gssize         length,
                              GError       **error);

参考1:ini配置文件格式
参考2: GLib Reference Manual Key-value file parser
参考3:g_key_file_to_data函数代码示例
参考4:通过Glib库中的GKeyFile来读取配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值