本文转自公众号,欢迎关注
基于libconfig进行配置文件解析 (qq.com)
准备官网https://hyperrealm.github.io/libconfig/
源码git clone https://github.com/hyperrealm/libconfig.git
在自己工程中使用这里基于vs2022,其他环境类似。
库方式打开libconfig\\libconfig_vs2017.sln
点击左侧工程目录解决方案
菜单栏 生成->生成解决方案
生成的库文件位于libconfig\\build\\x64下的
libconfigd.lib
libconfigd.dll
还有一些测试程序
比如命令行下./c_example1d.exe可以运行测试程序
在自己的工程目录添加libconfig文件夹,添加inc和lib子目录
将libconfigd.lib
libconfigd.dll
复制到lib目录下
将源码路径libconfig\\lib下所有的h文件复制到自己的inc目录下
右键点击工程名->属性
设置头文件包含路径
$(msbuildprojectdirectory)\\src\\libconfig\\inc;设置库文件包含路径
$(msbuildprojectdirectory)\\src\\libconfig\\lib;
设置链接的库
测试代码
#include #include #include #include param_cfg.hint main(int argc, char** argv){config_t cfg;config_setting_t* setting;int version;int pid;int vid;config_init(&cfg);/* 读配置文件. */if (!config_read_file(&cfg, wq.cfg)){fprintf(stderr, %s:%d - %s\\n, config_error_file(&cfg),config_error_line(&cfg), config_error_text(&cfg));config_destroy(&cfg);return(exit_failure);}/* 获取版本信息. */if (config_lookup_int(&cfg, version, &version))printf(version: %d\\n\\n, version);elsefprintf(stderr, no 'version' setting in configuration file.\\n);/* output a list of all books in the inventory. */setting = config_lookup(&cfg, id);if (setting != null){config_setting_lookup_int(setting, pid, &pid);config_setting_lookup_int(setting, vid, &vid);}printf(pid=%#x;vid=%#x\\r\\n,pid,vid);config_destroy(&cfg);return(exit_success);}exe所在目录创建配置文件wq.cfg
// 配置文件.// 版本:version = 10;// pid&vid:id ={pid = 0x1993;vid = 0x0101;};将libconfigd.dll复制到exe所在目录。
看到打印如下
version: 10pid=0x1993;vid=0x101
热失重分析仪:基本原理、工作流程及其在实际研究中的应用
瞻博网络正在为用户提供5G网络端到端解决方案
纯电动汽车和混合动力汽车的区别是什么
Intel 2500万美元高通挖人 誓要引领5G
4.3屏4G手机 Galaxy S Aviator上市
基于libconfig进行配置文件解析
中国移动5G手机用户达9000万,全年将超1亿
全装修成品住宅兴起 前装+智能家居是当前的发展难点
如何设置步进电机驱动器的参数
GTK入门教程
贸泽备货Analog Devices ADAQ4003数据采集解决方案 可节省多达75%的电路板空间
LG G6全面屏旗舰发布:骁龙821+1300万后置双摄
光刻设备厂商芯碁微装科创板IPO过会
充电器实现快充的原理
5G手机的设计核心是什么?
迅远RFID无障碍通道门实现无障碍通道人员及物品的跟踪管控
英国陆军订购哈里斯T7拆弹机器人
区块链在供应链物流中的影响
防爆烟温复合探测器的特点和工作原理是怎样的
iphone8什么时候上市?iphone8最新消息:iphone8产能不足,网友大呼:我选三星note8!