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来读取配置文件
242

被折叠的 条评论
为什么被折叠?



