这篇“怎么使用C语言Iniparser库实现ini文件读写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用C语言Ini
这篇“怎么使用C语言Iniparser库实现ini文件读写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用C语言Iniparser库实现ini文件读写”文章吧。
iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库的api可以对ini文件(配置文件)进行解析、设置、删除等操作。
常见的 ini 读写开源库有:minIni、inifile、iniparser
编译
下载后进入文件根目录,使用 make 命令编译,编译完成后会生成 libiniparser.a 和 libiniparser.so.1 文件
iniparser 提供了测试程序,进入 example 目录,使用 make命令编译,完成后会生成 iniexample 执行文件
测试结果
注意事项
使用链接文件时,可以参考 example 目录下的 Makefile 文件
此方法使用比较简单,直接将 src 目录下的文件拷贝到工程中即可,使用方式和自己编写的 .c 和 .h 文件一样
iniparser.h
int iniparser_getnsec(dictionary *d); char * iniparser_getsecname(dictionary *d, int n); void iniparser_dump_ini(dictionary * d, FILE * f); void iniparser_dumpsection_ini(dictionary * d, char * s, FILE * f); void iniparser_dump(dictionary * d, FILE * f); int iniparser_getsecnkeys(dictionary * d, char * s); char ** iniparser_getseckeys(dictionary * d, char * s); char * iniparser_getstring(dictionary * d, const char * key, char * def); int iniparser_getint(dictionary * d, const char * key, int notfound); double iniparser_getdouble(dictionary * d, const char * key, double notfound); int iniparser_getboolean(dictionary * d, const char * key, int notfound); int iniparser_set(dictionary * ini, const char * entry, const char * val); void iniparser_unset(dictionary * ini, const char * entry); int iniparser_find_entry(dictionary * ini, const char * entry) ; dictionary * iniparser_load(const char * ininame); void iniparser_freedict(dictionary * d);
dictionary.h
dictionary * dictionary_new(int size); void dictionary_del(dictionary * vd); char * dictionary_get(dictionary * d, const char * key, char * def); int dictionary_set(dictionary * vd, const char * key, const char * val); void dictionary_unset(dictionary * d, const char * key); void dictionary_dump(dictionary * d, FILE * out);
test.ini 文件
#
# 测试文件
#
[node]
Test = 1234
test.c
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h> #include "iniparser.h" #define FILE_INI "test.ini" int get_ini_info(int *read_buf){ dictionary *ini; ini = iniparser_load(FILE_INI); if (ini==NULL) { fprintf(stderr, "cannot parse file: %s\n", FILE_INI); return -1; } // iniparser_dump(ini, stderr); *read_buf = iniparser_getint(ini, "node:test", -1); iniparser_freedict(ini); return 0;} int set_ini_info(const char *write_buf){ dictionary *ini; FILE *fp = NULL; ini = iniparser_load(FILE_INI); if (ini==NULL) { fprintf(stderr, "cannot parse file: %s\n", FILE_INI); return -1; } iniparser_set(ini, "node:test", write_buf); fp = fopen(FILE_INI, "w"); if( fp == NULL ) { fprintf(stderr, "stone:fopen error!\n"); return -1; } iniparser_dump_ini(ini, fp); fclose(fp); iniparser_freedict(ini); return 0;} int main (int arGC, char **argv){ int num = 0; set_ini_info("1234"); get_ini_info(&num); printf("date is: %d \n", num);}
文件目录
编译
gcc test.c dictionary.c iniparser.c -o test
测试效果
以上就是关于“怎么使用C语言Iniparser库实现ini文件读写”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网其他教程频道。
--结束END--
本文标题: 怎么使用C语言Iniparser库实现ini文件读写
本文链接: https://lsjlt.com/news/352193.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0