配置文件解析库 myconf 使用wiki

myconf是一个可以方便读取key-value配置的C/C++库。
1 规则如下 
1)、配置为 key : value 格式 
2)、可以支持读取int(正负数), unsigend int, char *, 支持默认缺省值。
3)、string如果有特殊字符(如空格等)需要加上""(如"你 好");
4)、使用完必须调用关闭日志文件句柄,否则有内存泄漏。
5)、需要使用mylog编译依赖, 编译主要修改Makefile置顶工作目录WORKROOT,然后通过makefile.env指定MYLOG、MYCONF的路径

2 API
1) 初始化日志句柄

MY_CONF_INS* my_conf_init(const char* file_path, const char* file_name); 

file_path: 配置目录
file_name: 配置文件

2) 获得int

MY_CONF_GET_INT32(key, confs, input_value) 

key :获得key
confs: 配置文件句柄
input_value : 配置返回的结果引用
注意:成功返回true,否则返回false

3) 缺省获得int

MY_CONF_GET_INT32_DEFAULT(key, confs, input_value, default_value) 

key :获得key
confs: 配置文件句柄
input_value : 配置返回的结果引用
default_value :如果没有结果,返回default_value
注意:成功返回true,否则返回false

4) 获得unsigned int

MY_CONF_GET_UINT32(key, confs, input_value) 

key :获得key
confs: 配置文件句柄
input_value : 配置返回的结果引用
注意:成功返回true,否则返回false

5) 缺省获得unsigned int

MY_CONF_GET_INT32_DEFAULT(key, confs, input_value, default_value) 

key :获得key
confs: 配置文件句柄
input_value : 配置返回的结果引用
default_value :如果没有结果,返回default_value
注意:成功返回true,否则返回false

6) 获得string

MY_CONF_GET_STR(key, confs, input_str) 

key :获得key
confs: 配置文件句柄
input_str : 配置返回的结果引用
注意:成功返回true,否则返回false, input_str必须申请初始化大小

7) 缺省获得string

MY_CONF_GET_STR_DEFAULT(key, confs, input_str, default_str) 

key :获得key
confs: 配置文件句柄
input_str : 配置返回的结果引用
default_str : 如果没有结果返回缺省值
注意:成功返回true,否则返回false, input_str必须申请初始化大小

3 示例

 1) 代码

01 #include "mylog.h"
02 #include "myconf.h"
03 #include
04 using namespace std;
05  
06  
07 int main()
08 {
09     my_log_init("./log""sample.log""sample.log.wf", 16);
10     MY_LOG_DEBUG("main begin");
11  
12     MY_CONF_INS* my_ins = my_conf_init("./conf""sample.conf");
13     if( my_ins == NULL)
14     {
15         MY_LOG_FATAL("file is not exist or not vaild");
16         return -1;
17     }
18  
19     bool ret;
20     //get int
21     int int_a1;
22     ret = MY_CONF_GET_INT32("int_a", my_ins, int_a1);
23     if(ret == true)
24     {
25         cout << "int_a1 is " << int_a1 << endl;
26     }
27     else
28     {
29         cout << "get int_a1 fail";
30     }
31  
32     //get uint32
33     uint32 uint32_b1;
34     ret = MY_CONF_GET_UINT32("int_b", my_ins, uint32_b1);
35     cout << "uint32_b1 is " << uint32_b1 << endl;
36  
37     //get int 缺省值
38     uint32 int_a2;
39     ret = MY_CONF_GET_UINT32_DEFAULT("int_a_default", my_ins, int_a2, 100);
40     cout << "int_a_default " << int_a2 << endl;
41  
42     char string_noraml[1024];
43     ret = MY_CONF_GET_STR("string_noraml", my_ins, string_noraml);
44     cout << "string_noraml is " <<  string_noraml << endl;
45  
46     char string_quoto[1024];
47     ret = MY_CONF_GET_STR("string_quoto", my_ins, string_quoto);
48     cout << "string_quoto is " <<  string_quoto << endl;
49  
50     my_conf_close(my_ins);
51     MY_LOG_DEBUG("main end");
52     return 0;
53  
54 }

b) 运行结果

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值