【C语言】libiniparser库使用例子,
libiniparser是C语言实现的ini文件解析库
使用实例如下
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>#include "iniparser.h"void create_example_ini_file(void);
int parse_ini_file(char * ini_name);int main(int argc, char * argv[])
{int status ;if (argc<2) {create_example_ini_file();status = parse_ini_file("example.ini");} else {status = parse_ini_file(argv[1]);}return status ;
}void create_example_ini_file(void)
{FILE * ini ;ini = fopen("example.ini", "w");fprintf(ini,"#\n""# This is an example of ini file\n""#\n""\n""[Pizza]\n""\n""Ham = yes ;\n""Mushrooms = TRUE ;\n""Capres = 0 ;\n""Cheese = Non ;\n""\n""\n""[Wine]\n""\n""Grape = Cabernet Sauvignon ;\n""Year = 1989 ;\n""Country = Spain ;\n""Alcohol = 12.5 ;\n""\n");fclose(ini);
}int parse_ini_file(char * ini_name)
{dictionary * ini ;/* Some temporary variables to hold query results */int b ;int i ;double d ;char * s ;ini = iniparser_load(ini_name);if (ini==NULL) {fprintf(stderr, "cannot parse file: %s\n", ini_name);return -1 ;}iniparser_dump(ini, stderr);/* Get pizza attributes */printf("Pizza:\n");b = iniparser_getboolean(ini, "pizza:ham", -1);printf("Ham: [%d]\n", b);b = iniparser_getboolean(ini, "pizza:mushrooms", -1);printf("Mushrooms: [%d]\n", b);b = iniparser_getboolean(ini, "pizza:capres", -1);printf("Capres: [%d]\n", b);b = iniparser_getboolean(ini, "pizza:cheese", -1);printf("Cheese: [%d]\n", b);/* Get wine attributes */printf("Wine:\n");s = iniparser_getstring(ini, "wine:grape", NULL);printf("Grape: [%s]\n", s ? s : "UNDEF");i = iniparser_getint(ini, "wine:year", -1);printf("Year: [%d]\n", i);s = iniparser_getstring(ini, "wine:country", NULL);printf("Country: [%s]\n", s ? s : "UNDEF");d = iniparser_getdouble(ini, "wine:alcohol", -1.0);printf("Alcohol: [%g]\n", d);iniparser_freedict(ini);return 0 ;
}
【C语言】libiniparser库使用例子,相关推荐
- linux C语言多线程库pthread中条件变量的正确用法逐步详解
linux C语言多线程库pthread中条件变量的正确用法: 了解pthread常用多线程API和pthread互斥锁,但是对条件变量完全不知道或者不完全了解的人群. 关于条件变量的典型应用,可以参 ...
- 用python和sympy库解决方程组问题_Python语言 SymPy库数学方程问题——线性方程组篇...
本文主要向大家介绍了Python语言 SymPy库数学方程问题--线性方程组篇,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 这里我的本机的操作系统是 Ubuntu 14.04 ...
- Linux-C 简单的C语言日志库
Linux-C 简单的C语言日志库 一.简述 记--C语言实现的简单的日志库,可循环覆盖滚动记录日志文件,达到限制就另记一个日志文件,可控制日志文件个数,可控制日志文件大小. 打包下载 ...
- Go语言经典库使用分析(六)| Negroni 中间件(二)
Go语言经典库使用分析,未完待续,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续系列.觉得有帮助的话,顺手分享到朋友圈吧,感谢支持. 上 ...
- Go语言经典库使用分析(五)| Negroni 中间件(一)
Go语言经典库使用分析,未完待续,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续系列.觉得有帮助的话,顺手分享到朋友圈吧,感谢支持. 上 ...
- java体系的中间件适用于go吗,Go语言经典库使用分析(五)| Negroni 中间件(一)...
Go语言经典库使用分析,未完待续,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续系列.觉得有帮助的话,顺手分享到朋友圈吧,感谢支持. 上 ...
- c语言 sysinfo_c语言函数库
什么是系统调用? Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用.用户可以通过系统调用命令在自己的应用程序中调用它们.从某种角度来看,系统调用和普通的函数调用非常相似.区别仅仅在 ...
- Go语言经典库使用分析(二)| Gorilla Context
Go语言经典库使用分析,未完待续,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续系列.觉得有帮助的话,顺手分享到朋友圈吧,感谢支持. 在 ...
- 易语言支持库制作学习笔记
本文讲讲用VS2008制作易语言支持库(动态库和静态库)的具体方法和步骤. 这是我学习制作支持库时的学习笔记,贴出来分享下,也方便我以后查询. 时间仓促水平有限,不到之处还请各位高手们批评指正,以便完 ...
最新文章
- c语言俄罗斯方块注释,C语言学习1年-俄罗斯方块(无注释)
- python怎么导入视频-python怎么导入数据
- 剑指offer(15)反转链表
- Linux C++ 简单爬虫
- 安卓学习笔记33:实现逐帧动画
- Windows Embedded Webcast 2008年1月预告
- Nature:新发现挑战神经元作用传统理论 [转自科学网]
- ArcView GIS 应用与开发技术(7)- 空间查询
- 编程开发必须用到的工具书MSDN中文版
- VB.net Socket Udp收、发数据包示例源码
- IntelliJ IDEA插件-翻译插件
- SEGGER调试软件
- swing打地鼠游戏_幼儿园里的室内徒手游戏(二)
- php模拟QQ登录获得skey码,请教:QQ授权第三方登录论坛之authorize模拟访问,一直失败...
- QQ开放平台地址 http://open.qq.com/
- 如何mp3音乐格式转换成ogg格式
- 上线群聊功能 阿里搞不赢的社交美团能行吗?
- R语言学习-----数据的载入
- echarst环形进度,官网https://echarts.apache.org/examples/zh/index.html
- 细说苹果电脑上不错的滤镜软件