Poco 配置文件读取

1,ini格式文件

[myApplication]
somePath = C:\test dat.dat
someValue = 123

#include <iostream>
using namespace std;

#include "Poco/Util/Application.h"
#include "Poco/Path.h"
using namespace Poco::Util;

#include "Poco/AutoPtr.h"
#include "Poco/Util/IniFileConfiguration.h"
using Poco::AutoPtr;
using Poco::Util::IniFileConfiguration;

int main(int argc, char** argv)
{
	AutoPtr<IniFileConfiguration> pConf(new IniFileConfiguration("Test.ini"));
	std::string path = pConf->getString("myApplication.somePath");
	int svalue = pConf->getInt("myApplication.someValue");
	svalue = pConf->getInt("myApplication.asomeValue",456);
	std::cout << path << endl;
	cout << svalue << endl;

	return 0;
}


2:porperties 格式文件

key1 = value1
key2:123
key3.longValue = this is a Very \
long value
path=C:\\Test.dat

#include "Poco/AutoPtr.h"
using Poco::AutoPtr;

#include "Poco/Util/PropertyFileConfiguration.h"
using Poco::Util::PropertyFileConfiguration;

int main(int argc, char** argv)
{
	AutoPtr<PropertyFileConfiguration> pConf;
	pConf = new PropertyFileConfiguration("test.properties");
	std::string key1 = pConf->getString("key1");
	int value1 = pConf->getInt("key2");
	std::string logV = pConf->getString("key3.longValue");
	std::string path = pConf->getString("path");
	cout << key1 << endl;
	cout << value1 << endl;
	cout << logV << endl;
	cout << path << endl;

	return 0;
}

3 : xml 格式文件

<config>
<prop1>value1</prop1>
<prop2>123</prop2>
<prop3>
<prop4 attr="value3" />
<prop4 attr="value4" />
</prop3>
</config>

#include "Poco/AutoPtr.h"
using Poco::AutoPtr;

#include "Poco/Util/XMLConfiguration.h"
using Poco::Util::XMLConfiguration;

int main(int argc, char** argv)
{
	AutoPtr<XMLConfiguration> pConfig(new XMLConfiguration("test.xml"));
	std::string prop1 = pConfig->getString("prop1");
	cout << prop1 << endl;

	int prop2 = pConfig->getInt("prop2");
	cout << prop2 << endl;

	std::string prop3 = pConfig->getString("prop3");
	cout << prop3 << endl;
	
	std::string prop4 = pConfig->getString("prop3.prop4");
	cout << prop4 << endl;
	prop4 = pConfig->getString("prop3.prop4[@attr]");
	cout << prop4 << endl;
	prop4 = pConfig->getString("prop3.prop4[1][@attr]");
	cout << prop4 << endl;

	return 0;
}


转载于:https://www.cnblogs.com/wjchang/p/3671669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值