boost 官网 http://www.boost.org/
下载页面 http://sourceforge.net/projects/boost/files/boost/1.53.0/
我下载的是 boost_1_53_0.tar.gz
使用系统 ubuntu 12.10
一、解压
tar -zxvf boost_1_53_0.tar.gz
得到一个文件夹 boost_1_53_0, 拷贝其子目录 boost 到以下路径/usr/local/include/
二、编写读取解析ini的类文件
ini.h
/*
* File: ini.h
* Author: tsxw24@gmail.com
*
* Created on 2013年3月18日, 下午2:51
*/
#ifndef INI_H
#define INI_H
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
#include <string>
using namespace std;
class Ini{
public:
Ini(string ini_file);
string get(string path);
short int errCode();
private:
short int err_code;
boost::property_tree::ptree m_pt;
};
#endif /* INI_H */
ini.cpp
#include "ini.h"
Ini::Ini(string ini_file){
if (access(ini_file.c_str(), 0) == 0) {
this->err_code = 0;
boost::property_tree::ini_parser::read_ini(ini_file, this->m_pt);
} else {
this->err_code = 1;
}
}
short Ini::errCode(){
return this->err_code;
}
string Ini::get(string path){
if (this->err_code == 0) {
return this->m_pt.get<string>(path);
} else {
return "";
}
}
三、测试
main.cpp
#include <cstdlib>
#include <stdio.h>
#include <iostream>
#include <string>
#include "ini.h"
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
string ini_file = "/home/share/code/CppClass/test1.ini";
Ini ini(ini_file);
cout<<ini.get("public.abc")<<endl;
return 0;
}
版权声明:本文为tsxw24原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。