ini 文件
config.ini文件
# file:config.ini
[server]
ip=127.0.0.1
代码片段
#include<iostream>
#include<string>
#include<boost/property_tree/ptree.hpp>
#include<boost/property_tree/ini_parser.hpp>
namespace config
{
class ConfigParser
{
public:
const static std::string CONFIG_FILENAME;
public:
ConfigParser(std::string path);
std::string Ip() const;
void Ip(std::string value);
private:
bool LoadFile();
private:
std::string path;
std::string ip;
}; // class ConfigParser
const std::string ConfigParser::CONFIG_FILENAME = "config.ini";
ConfigParser::ConfigParser(std::string path):path(path)
{
LoadFile();
}
std::string ConfigParser::Ip() const
{
return this->ip;
}
void ConfigParser::Ip(std::string value)
{
this->ip = value;
}
bool ConfigParser::LoadFile()
{
bool result = true;
boost::property_tree::ptree tree;
boost::property_tree::ini_parser::read_ini(path, tree);
this->Ip(tree.get("server.ip", ""));
return result;
}
} // namespace config
CMakeLists.txt 修改
find_package(Boost REQUIRED)
target_link_libraries(
${PROJECT_NAME}
${Boost_LIBRARIES}
)