| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.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 ;
- if ((ini=fopen("example.ini", "w"))==NULL) {
- fprintf(stderr, "iniparser: cannot create example.ini\n");
- return ;
- }
- 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 ;
- const 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 ;
- }
|