Ini这种最为经典的配置文件方法深得我的喜欢,Glib更是提供了GKeyFile类型来操作Ini文件。
GKeyFile的使用与一般Glib的对象没啥区别:
创建GKeyFile对象:
GKeyFile *keyfile = g_key_file_new();
与文件关联:
if (!g_key_file_load_from_file(keyfile, filename, G_KEY_FILE_NONE, NULL)) { fprintf(stderr, "打开文件错误!"); return 1; }
读取配置(这里以读取int为例,其它的请看devhelp):
GError *error = NULL; tmpint = g_key_file_get_integer(keyfile, "conf", "x", &error); if (!tmpint && error && (error->code == G_KEY_FILE_ERROR_KEY_NOT_FOUND || error->code == G_KEY_FILE_ERROR_INVALID_VALUE)) tmpint = 10000;
当读取出错的时候,tmpint会返回0,但是,有的时候,0可能是读取出来的,这时候就要看读取是不是报错了,如果没有错误,error应该还是NULL的,如果读取错误,那么就可以给tmpint重新赋值了。
最后,使用完了,记得释放空间:
g_key_file_free(keyfile);