【C语言】libiniparser库使用例子,

原创 2017年12月13日 12:11:22

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 ;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010168781/article/details/78790466

libini-1.1.10-2.tgz

  • 2015年04月25日 15:00
  • 322KB
  • 下载

LIBIniParser(INI配置文件解析类)无代码!

  • 2016年05月20日 17:29
  • 473KB
  • 下载

libini arm移植

libiconv An INI file parser that can read, edit and create large INI files. Usable under Microsof...
  • chinaeran
  • chinaeran
  • 2015-04-26 07:47:13
  • 1612

iniparser的使用

iniparser编译完成后生成静态库和动态库 根据需要在程序中进行链接   代码包test目录下含有示例程序iniexample.c   使用时在程序中包含头文件#include "ini...
  • zahuopuboss
  • zahuopuboss
  • 2013-04-18 11:38:14
  • 3903

使用iniparser 处理INI文件

使用iniparser 处理INI文件,详细代码如下。 #include #include #include #include #include "iniparser.h" ...
  • tody_guo
  • tody_guo
  • 2013-12-07 22:25:44
  • 4457

itoa函数的使用与说明

原型:char *itoa( int value, char *string,int radix); value:欲转换的数据;string:目标字符串的地址;radix:转换后的进制数,可以是...
  • u011192270
  • u011192270
  • 2015-04-04 14:23:20
  • 5969

Python之自动生成解析ini文件的C++类(基于libiniparser.a)

## 自动化生成解析ini的C++类 ## ini配置文件(config.ini) [Ku] IP=192.168.64.10 Type=16 Position=0-c AgentIP=1...
  • sauphy
  • sauphy
  • 2015-11-23 20:14:55
  • 406

Iniparser——非常好用的ini文件读写代码

  • 2010年04月19日 21:48
  • 33KB
  • 下载

ini文件解析c库(iniparser)

原文地址: http://blog.csdn.net/orz415678659/article/details/9533259 一.交叉编译ini解析库 1.官方网站http://ndevi...
  • jxgz_leo
  • jxgz_leo
  • 2017-01-12 09:33:27
  • 1322

C语言配置文件解析库——iniparser

C语言配置文件解析库——iniparser前言:在对项目的优化时,发现Linux下没有专门的供给C语言使用的配置文件函数,于是搜索到了iniparser库,可以像那些面向对象语言一样,使用ini文件进...
  • u011192270
  • u011192270
  • 2015-10-22 21:16:49
  • 8915
收藏助手
不良信息举报
您举报文章:【C语言】libiniparser库使用例子,
举报原因:
原因补充:

(最多只允许输入30个字)