应用场景:

在后端服务器项目开发中,需要初始化一个Socket服务器,需要IP地址与对应端口号等参数;另外还可能因为对接数据库,就还需要数据库的相关配置参数,如我使用的是MySql数据库,就需要数据库服务器的IP地址、端口号、用户名与密码,还有数据库的名称。如若这些配置信息直接写到代码里,就会给后期布署带巨大的麻烦;但自己去造轮子又很麻烦。现在可好了,Boost就提供了这样的接口。

源码:

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
namespace pt = boost::property_tree; #include <windows.h> int main(int argc, char** argv)
{
pt::ptree tree;
pt::read_ini("config.ini", tree); string db_host = tree.get<std::string>("db.host");
string db_port = tree.get<std::string>("db.port");
string db_user = tree.get<std::string>("db.user");
string db_pswd = tree.get<std::string>("db.pswd");
/*此处是一个示例,mysql的连接字符串不是这样的*/
cout << "mysql://" << db_user << ":" << db_pswd << "@" << db_host << ":" << db_port << endl;
return 0;
}

config.ini

[db]
host=127.0.0.1
port=3306
user=dilex
pswd=123 [server]
ip=127.0.0.1
port=8000

运行结果:

boost::property_tree 读取ini配置的更多相关文章

  1. boost::property_tree读取解析ini文件--推荐

    boost::property_tree读取解析ini文件 #include "stdafx.h" #include <iostream> #include <b ...

  2. boost::property_tree读取解析.xml文件

    boost::property_tree读取解析.xml文件 1)read_xml 支持中文路径  boost::property_tree::wptree wpt;    std::locale:: ...

  3. golang 读取 ini配置信息

      package main //BY: 29295842@qq.com//这个有一定问题   如果配置信息里有中文就不行//[Server] ;MYSQL配置//Server=localhost   ...

  4. C++ 中使用boost::property_tree读取解析ini文件

    boost 官网 http://www.boost.org/ 下载页面 http://sourceforge.net/projects/boost/files/boost/1.53.0/ 我下载的是  ...

  5. Boost.PropertyTree读取ini文件(Linux环境)

    昨天因为需要读取配置文件略略伤神.网上很多例子但是我用都会报错,很多人把Boost.PropertyTree的函数写很麻烦的包所以报错我也不知道什么问题,所以今天整理下. 头上附上官网链接:Boost ...

  6. Java读取ini配置

    本文转载地址:       http://www.cnblogs.com/Jermaine/archive/2010/10/24/1859673.html 不够通用,呵呵. 读取ini的配置的格式如下 ...

  7. 部分转 Java读取ini配置

    转自: http://www.cnblogs.com/Jermaine/archive/2010/10/24/1859673.html 读取ini的配置的格式如下: [section1] key1=v ...

  8. boost.property_tree读取中文乱码问题正确的解决方式

    开发项目的时候在使用boost,在宽字符下遇到中文乱码问题 上网上看大家都是先转成utf8在进行解析的,例如: http://blog.csdn.net/hu_jiangan/article/deta ...

  9. php读取ini配置文件属性

    ini的内容格式如下,请根据自己的INI,格式修改下段程序. autostart = false font_size = font_color = red =================== fu ...

随机推荐

  1. ThinkPHP3.2.2的函数扩展

    ThinkPHP的函数扩展:为了更好的在前台模板中显示变量,例如,商品分类中,分类名称之间的缩进.此时,在APP/Common/Common文件夹下(APP为新建的应用目录),新建一个php文件,如: ...

  2. Springboot学习:日志

    介绍 市面上的日志框架: JUL.JCL.Jboss-logging.logback.log4j.log4j2.slf4j.... 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Com ...

  3. 一类Log-Gamma积分的一般形式

    \[\Large\int_{0}^{z}x^{t}\ln\Gamma \left ( 1+x \right )\mathrm{d}x~,~z>0\, ,\, t\in N^{*}\] \(\La ...

  4. Ext插件中控件的xtype和类的对应关系总结

    xtype Class ------------- ------------------ box Ext.BoxComponent button Ext.Button buttongroup Ext. ...

  5. 解决sublime不能安装packages的问题

    问题如下:该问题产生的原因是因为默认的配置中无法访问 "https://packagecontrol.io/channel_v3.json"该文件造成的 解决: 1.下载 chan ...

  6. nyoj 100

    怒刷水题... AC代码: #include <stdio.h> int main() { int x,t,count; scanf("%d",&t); whi ...

  7. redhat 7.6 流量监控命令、软件(3)nethogs 监控进程实时流量

    1.解压nethogs tar -zxvpf nethogs_0.8.5.orig.tar.gz 2.直接make,这里报错,提示pcap.h,安装libpcap就可以了 3.如果已经安装,还是报错, ...

  8. FastStone Capture 截图工具

    主要功能介绍 截屏 包括了全屏截取,当前活动窗口截取,截取选定区域,多边形截取和截取滚动页面等,基本上常用的都有了.特别是滚动截取,许多朋友为了这个功能,不惜安装各种重量级的截屏软件,甚至四处下载各种 ...

  9. SpringMVC 配置文件详解

    HandlerMapping    处理器映射 HTTP请求被DispatcherServlet拦截后,会调用HandlerMapping来处理,HandlerMapping根据 url<=&g ...

  10. centos启动jar包

    不挂断运行命令,日志输出到log.txt中 nohup java -jar boot-cms-module-system-2.0.1.jar >log.txt & Linux 运行jar ...