//g++ main.cpp -lboost_system -lboost_filesystem
#include <iostream>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/property_tree/ini_parser.hpp>
#include <boost/property_tree/ptree.hpp>

using namespace std;

#define FILE_MAX_SIZE 1024*40

int main(int argc, char *argv[])
{
    cout << "Hello World!" << endl;
//读ini文件 文件已经存在
    if(!boost::filesystem::exists("config.ini")) {
        cerr<<"config.ini not exists."<<endl;
        return -1;
    }
    boost::property_tree::ptree root_node, tag_system;
    boost::property_tree::ini_parser::read_ini("config.ini", root_node);
    tag_system = root_node.get_child("System");
    if(tag_system.count("number") != 1) {
        cerr<<"reboot_cnt node not exists."<<endl;
    }
    int cnt = tag_system.get<int>("number");
    cout<<"reboot_cnt : "<<cnt<<endl;
//修改配置文件参数
    root_node.put<int>("System.number", 10);
    boost::property_tree::ini_parser::write_ini("config.ini", root_node);
//    读取整个文件
    if(!boost::filesystem::exists("config.ini")) {
        cerr<<"config.ini not exists."<<endl;
        return -1;
    }
    char *data = (char*)malloc(sizeof(char) * FILE_MAX_SIZE);
    boost::filesystem::ifstream ifstream("config.ini",ios_base::in);
    ifstream.read(data, FILE_MAX_SIZE);
    cout<<"data : "<<endl;
    cout<<data<<endl;
    free(data);
    ifstream.close();
//写ini文件 文件不存在
    if(!boost::filesystem::exists("config_2.ini")) {
        boost::filesystem::ofstream ofstream("config_2.ini", ios_base::out);
        ofstream<<"[System]";
        ofstream<<"\n";
        ofstream<<"name=zhangsan";
        ofstream.close();
    }

    return 0;
}

//config.ini
[System]
number=3

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐