C++ Boost PropertyTree 解析INI文件

Boost PropertyTree 庫不僅可以解析JSON,XML格式,還可以直接解析INI格式文件,並實現對文件的讀寫操作。

#include <iostream>
#include <string>
#include <boost/property_tree/ptree.hpp>  
#include <boost/property_tree/ini_parser.hpp>

using namespace std;
using namespace boost;

// 寫入文件
void init_ini(const std::string &filename)
{
    using boost::property_tree::ptree;
    ptree pt;

    // 增加新的鍵值對
    pt.add("config.address", "192.168.1.1");
    pt.add("config.port", 22);
    // 修改原有鍵值對
    pt.put("config.port", 3389);
    write_ini(filename, pt);
}

int main(int argc, char *argv[])
{
    std::string f("c://config.ini");
    init_ini(f);

    // 讀取ini文件
    boost::property_tree::ptree ptr, tag;
    boost::property_tree::ini_parser::read_ini("c://config.ini", ptr);

    tag = ptr.get_child("config");
    std::string address = tag.get<std::string>("address");
    int port = tag.get<int>("port");
    std::cout << "地址: " << address << " 端口: " << port << std::endl;

    std::system("pause");
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章