读取带有标记文件的函数接口。
来源:互联网 发布:windows 10 for phone 编辑:程序博客网 时间:2024/05/20 06:25
*引用本文请注明来自 blog.csdn.net/wtz1985
g_key_file_new()和g_key_file_load_from_file()这两个接口的含义有些像FILE* fp和fopen(),但是它们有着特别的地方,就是它在读文件的时候,不是什么都读取的。而是根据自己识别的标记读取,然后根据相应的接口函数分离出组(group)、关键字(key)和关键字的值(integer/string/double等类型)。所以这就要求文件在写的时候,要注意特有的格式。说起来有点相XML,不过它比XML简单多得多。下面就用简单的代码解释一下:
1、建立一个有标记的文件:
- /*------ data.txt -------*/
- [one]
- key_one = 1
- [tow]
- key_tow = 2
- [three]
- key_three = 3
2、简单的代码代码实现:
- /*---- main.c -----*/
- #include <stdlib.h>
- #include <stdio.h>
- #include <glib.h>
- #define file_name "/home/wutangzhi/wtz/test_dir/test_file/data.txt"
- int main(int argc, char** argv)
- {
- char** groups = NULL;
- char** key = NULL;
- GKeyFile* keyfile;
- gsize length = 0;
- GError* error = NULL;
- GList* list_group = NULL;
- keyfile = g_key_file_new();
- g_key_file_load_from_file(keyfile, file_name, G_KEY_FILE_NONE, &error);
- groups = g_key_file_get_groups(keyfile, &length);
- gsize length_keys = 0;
- gsize i = 0;
- for(i = 0; i < length; i++)
- {
- key = g_key_file_get_keys(keyfile, groups[i], &length_keys, &error);
- gsize j = 0;
- for(j = 0; j < length_keys; j++)
- {
- printf("key = %s /n", key[j]);
- double value = g_key_file_get_double(keyfile, groups[i], key[j], &error);
- printf("key_string = %f/n", value);
- }
- }
- return 0;
- }
3、显示结果:
- key = key_one
- key_string = 1.000000
- key = key_tow
- key_string = 2.000000
- key = key_three
- key_string = 3.000000
这个函数接口可以把根据属性的不同可以不同的读取,在适当的时候它是相当有用的,比如单位换算。
- 读取带有标记文件的函数接口。
- 读取带有NaN标记的数据格式
- Flex读取带有HTML标记的XML出错的解决办法
- 读取带有中文的txt文件
- python读取带有中文的文件
- 带有属性的标记taglib
- 一个带有标记的SeekBar
- 读取本地UTF-8文件带有换行的中文文本
- 读取带有Xmlns命名空间的XML文件
- C#读取写入带有命名空间的XML文件
- 简单读取带有EXCEL宏病毒文件的内容
- C#中读取带有Xmlns命名空间的XML文件
- 使用jQueryajax文件上传ajaxfileupload组建碰到的问题:返回json带有pre标记的解决方案
- Matlab:如何读取CSV文件以及如何读取带有字符串数据项的CSV文件
- 读取带有空格的字符串
- linux编写带有导出函数的so文件
- 利用python读取带有中文的字符串,和将带有中文的字符串写到txt文件中
- 读取文件的函数总结
- Windows环境下配置Apache 2.2.x + SSL
- Security(签名证书) for Mobile
- Struts与Spring整合:bbp project
- 求100或1000个随机0到1的平均数看看哪个更接近0.5
- Windows环境下Apache的安装与虚拟主机, 虚拟目录的配置
- 读取带有标记文件的函数接口。
- Repeater 中CheckBox的相关操作
- 测试用例执行态度
- 项目概要设计书一般设计方法 经典转载
- Unable to find an Ant file to run
- 做软件项目就是一种学习
- 用递归颠倒一个数组
- 轻松实现Apache,Tomcat集群和负载均衡
- C# 之泛型详解