ace 读取ini

// 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="男"




你可能感兴趣的:(ACE)