// read_ini.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <ace/ACE.h>
#include <ace/configuration_Import_Export.h>
using namespace std;
#pragma comment(lib,"aced.lib")
int ReadFromIni(const char* szIni);
int _tmain(int argc, _TCHAR* argv[])
{
ReadFromIni("config.ini");
return 0;
}
int ReadFromIni(const char* szIni)
{
ACE_Configuration_Heap config;
ACE_Ini_ImpExp ini(config);
config.open();
if (-1==ini.import_config(szIni))
{
ACE_ERROR_RETURN((LM_ERROR,"error open config failed\n"),-1);
}
ACE_Configuration_Section_Key key_network;
config.open_section(config.root_section(),"mc_app",0,key_network);
ACE_TString value;
config.get_string_value(key_network,"mc_ip",value);
cout<<"ip="<<value.c_str()<<endl;
config.get_string_value(key_network,"mc_port",value);
int port=atoi(value.c_str());
cout<<"port="<<port<<endl;
ACE_DEBUG((LM_NOTICE,"will listen on port %d\n",port));
ACE_Configuration_Section_Key key_person;
config.open_section(config.root_section(),"person",0,key_person);
config.get_string_value(key_person,"name",value);
cout<<"name="<<value.c_str()<<endl;
config.get_string_value(key_person,"sex",value);
cout<<"sex="<<value.c_str()<<endl;
return 0;
}
ini文件:
[mc_app]
mc_ip="127.0.0.1"
mc_port=11211
[person]
name="天策"
sex="男"