当前位置:  软件>C/C++软件

conf 配置文件解析库 myconf

    来源:    发布时间:2014-12-25

    本文导语:  myconf是一个可以方便读取key-value配置的C/C++库。 1 规则如下  1)、配置为 key : value 格式  2)、可以支持读取int(正负数), unsigend int, char *, 支持默认缺省值。 3)、string如果有特殊字符(如空格等)需要加上""(如"你 好"); 4)、使用完...

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) 代码

#include "mylog.h"
#include "myconf.h"
#include 
using namespace std;


int main()
{
    my_log_init("./log", "sample.log", "sample.log.wf", 16);
    MY_LOG_DEBUG("main begin");

    MY_CONF_INS* my_ins = my_conf_init("./conf", "sample.conf");
    if( my_ins == NULL)
    {
        MY_LOG_FATAL("file is not exist or not vaild");
        return -1;
    }

    bool ret;
    //get int
    int int_a1;
    ret = MY_CONF_GET_INT32("int_a", my_ins, int_a1);
    if(ret == true)
    {
        cout 

    
 
 

您可能感兴趣的文章:

  • tomcat 4.0.1 安装运行后在conf目录没有 .conf 文件,只有server.xml,可是 Apache 1.3.23无法理解server.xml,请问该如何配置?
  • 请教apache配置文件httpd.conf的一个配置
  • 同时配置两个DNS怎么写/etc/resolv.conf文件 ?
  • 能不能另外写一个samba的配置文件,来代替现在的smb.conf文件?
  • 能不能另外写一个samba的配置文件,来代替现在的smb.conf文件
  • 问个smb.conf配置问题
  • 装好mysql,apache后,再装php,配置httpd.conf时出现了如下错误!
  • 请教grub.conf配置文件中"root="参数的问题
  • 我需要inetd守护进程,配置的时候找不到/etc/inetd.conf 怎么回事阿阿??我使用的是ubuntu
  • 有没有人以前配置过OPenLdap,找不到slapd.conf 文件
  • Redhat 下,对dhcp.conf的配置如何设定option 52?
  • 我在vsftpd的配置文件vsftp.conf没有发现匿名所在的目录/var/ftp/pub这个固定的位置啊
  • Linux下的httpd.conf该怎么配置?
  • apache 在httpd.conf里配置了 404 跳转, 但是不起作用
  • 请问一个OpenLdap安装配置时的问题:没有slapd.conf文件
  • 需要REDHAT8+WIN2000配置samba的smb.conf
  • 配置vsftpd.conf出问题,老搞不定
  • samba配置文件smb.conf 帮忙阿!!!!!!!!!
  • nginx配置文件nginx.conf中文注释说明
  • php-fpm.conf配置说明 php-fpm修改与优化重点
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ? redhat 7.1中的inetd.conf文件放在什么地方啊?是不是换文件名了?
  • 为什么我没有/etc/inetd.conf这个文件。
  • lilo的用法(如何不用缺省的/etc/lilo.conf文件)?
  • 为什么我的/etc/samba/smb.conf文件不能编辑?
  • 如何修改LILO.conf文件
  • 请问如何更改etc/samba/smb.conf文件的内容
  • FEDORA13下找不到xorg.conf文件
  • 如何写制作usb启动盘的lilo.conf文件?
  • 在rd7.2中好象已经没有inetd.conf文件了 不知道用什么东西代替了?
  • ubuntu lilo.conf文件在哪里阿 ?
  • 装了redhat7,在/etc里没有inetd.conf文件,谁见过这咋整
  • 新手求救(我得系统怎么没有/etc/inetd.conf这个文件?)
  • ubuntu下找不到syslog.conf文件
  • 请教大家 /etc 下没有sysctl.conf这个文件
  • 以非root用户登陆redhat linux7.3字符模式下,怎不能vi ***.conf 修改文件啊??
  • 编译完内核后如何修改grub.conf文件是修改生效
  • 为什么我找不到xinetd.conf文件啊??急死我了!!!
  • 在redhat-linux7.2下,用lilo的方式启动,当升级内核时,如何修改/etc/lilo.conf文件?有没有什么设置让系统自动修改这个文件??
  • 关于.conf文件很简单的问题!
  • 我的/etc/xinetd.conf被我搞坏了,请问一般那个文件内容是什么?急!!!!
  • xinetd.conf和inetd.conf有何区别?
  • xinetd.conf与inetd.conf 高分征解
  • 请教各位:apach/conf/httpd.conf修改设定值的问题.
  • Red Hat Linux 7.2装完了,在etc下面没有smb.conf和inetd.conf,请问怎么回事?
  • 有关inetd.conf和xinetd.conf的问题!!!(help,help!!!)
  • FreeBSD编辑/etc/rc.conf出现permission denied
  • 錯了什麼httpd.conf?
  • ubuntu 修改httpd.conf 问题
  • 如何修改lilo.conf?
  • scounix 为什么找不到/etc/resolv.conf
  • add to /etc/ld.so.conf system file


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3