zoukankan      html  css  js  c++  java
  • boost::property_tree 读取ini配置

    应用场景:

    在后端服务器项目开发中,需要初始化一个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
    

    运行结果:

  • 相关阅读:
    TypeScript Handbook 2——接口1(翻译)
    TypeScript Handbook 1——基本类型(翻译)
    [转]AJAX 跨源 HTTP 请求
    [转] Delphi Socket Architecture
    handsontable的一种js继承方式
    test11
    test
    javascript代码风格
    maven创建web项目
    Oracle 11g R2 for Win10(64位)的安装注意点
  • 原文地址:https://www.cnblogs.com/dilex/p/10565058.html
Copyright © 2011-2022 走看看