boost库读写xml
来源:互联网 发布:剑网3笔记本优化版 编辑:程序博客网 时间:2024/06/05 15:34
#include <boost/property_tree/ptree.hpp>
#include <boost\typeof\typeof.hpp>
void RiskParams::LoadConfigFromFile()
{
CString strCurAppPath;
XTradeUtil::GetCurrentAppPath(strCurAppPath);
char szConfigPath[MAX_PATH];
memset(szConfigPath, 0, sizeof(MAX_PATH));
USES_CONVERSION;
strcpy_s(szConfigPath, T2A(strCurAppPath));
sprintf_s(szConfigPath + strlen(szConfigPath), MAX_PATH - strlen(szConfigPath), "%s", "\\config\\risk_params.xml");
boost::property_tree::ptree proTree;
//TCHAR szFilePath[MAX_PATH + 1]={0};
//GetModuleFileName(NULL, szFilePath, MAX_PATH);
//setlocale(LC_ALL,"Chinese-simplified");
boost::property_tree::xml_parser::read_xml(szConfigPath, proTree);
boost::property_tree::ptree globalTag = proTree.get_child("Configs.GlobalParams");
memset(&m_globalParams, 0, sizeof(CGlobalParams));
strcpy_s(m_globalParams.m_szDbServerIP, globalTag.get("DbServerIP", "0.0.0.0").c_str());
m_globalParams.m_nDbServerPort = atoi(globalTag.get("DbServerPort", "9999").c_str());
strcpy_s(m_globalParams.m_szTradeServerIP, globalTag.get("TradeServerIP", "0.0.0.0").c_str());
m_globalParams.m_nTradeServerPort = atoi(globalTag.get("TradeServerPort", "9999").c_str());
strcpy_s(m_globalParams.m_szLogServerIP, globalTag.get("LogServerIP", "0.0.0.0").c_str());
m_globalParams.m_nLogServerPort = atoi(globalTag.get("LogServerPort", "9999").c_str());
strcpy_s(m_globalParams.m_szQuoteServerIP, globalTag.get("QuoteServerIP", "0.0.0.0").c_str());
m_globalParams.m_nQuoteServerPort = atoi(globalTag.get("QuoteServerPort", "9999").c_str());
strcpy_s(m_globalParams.m_szQuoteUser, globalTag.get("QuoteUser", "").c_str());
strcpy_s(m_globalParams.m_szQuotePass, globalTag.get("QuotePass", "").c_str());
strcpy_s(m_globalParams.m_szQuoteAuthCode, globalTag.get("QuoteAuthCode", "").c_str());
string strCloseConfirm = globalTag.get("CloseConfirm", "0");
if (strCloseConfirm.compare("0") == 0)
m_globalParams.m_bCloseConfirm = false;
else
m_globalParams.m_bCloseConfirm = true;
string strOrderConfirm = globalTag.get("OrderConfirm", "0");
if (strOrderConfirm.compare("0") == 0)
m_globalParams.m_bOrderConfirm = false;
else
m_globalParams.m_bOrderConfirm = true;
string strShowEntrustSuccess = globalTag.get("ShowEntrustSuccess", "1");
if (strShowEntrustSuccess.compare("0") == 0)
m_globalParams.m_bShowEntrustSuccess = false;
else
m_globalParams.m_bShowEntrustSuccess = true;
boost::property_tree::ptree operatorTag = proTree.get_child("Configs.OperatorParams");
m_pOperatorParams = new COperatorParams();
memset(m_pOperatorParams, 0, sizeof(COperatorParams));
m_pOperatorParams->m_nBuyUpTickNum = atoi(operatorTag.get("BuyUpTickNum", "50").c_str());
m_pOperatorParams->m_nSellDownTickNum = atoi(operatorTag.get("SellDownTickNum", "50").c_str());
}
void RiskParams::SaveConfigSetting()
{
using boost::property_tree::ptree;
CString strCurAppPath;
XTradeUtil::GetCurrentAppPath(strCurAppPath);
char szConfigPath[MAX_PATH];
memset(szConfigPath, 0, sizeof(MAX_PATH));
USES_CONVERSION;
strcpy_s(szConfigPath, T2A(strCurAppPath));
sprintf_s(szConfigPath + strlen(szConfigPath), MAX_PATH - strlen(szConfigPath), "%s", "\\config\\risk_params.xml");
char szFormat[256];
ptree ptWrite;
//DB_Server
ptWrite.put<string>("Configs.GlobalParams.DbServerIP", m_globalParams.m_szDbServerIP);
snprintf(szFormat, sizeof(szFormat), "%d", m_globalParams.m_nDbServerPort);
ptWrite.put<string>("Configs.GlobalParams.DbServerPort", szFormat);
//Gateway
ptWrite.put<string>("Configs.GlobalParams.TradeServerIP", m_globalParams.m_szTradeServerIP);
snprintf(szFormat, sizeof(szFormat), "%d", m_globalParams.m_nTradeServerPort);
ptWrite.put<string>("Configs.GlobalParams.TradeServerPort", szFormat);
//Logger Server
ptWrite.put<string>("Configs.GlobalParams.LogServerIP", m_globalParams.m_szLogServerIP);
snprintf(szFormat, sizeof(szFormat), "%d", m_globalParams.m_nLogServerPort);
ptWrite.put<string>("Configs.GlobalParams.LogServerPort", szFormat);
//Quote Server
ptWrite.put<string>("Configs.GlobalParams.QuoteServerIP", m_globalParams.m_szQuoteServerIP);
snprintf(szFormat, sizeof(szFormat), "%d", m_globalParams.m_nQuoteServerPort);
ptWrite.put<string>("Configs.GlobalParams.QuoteServerPort", szFormat);
ptWrite.put<string>("Configs.GlobalParams.QuoteUser", m_globalParams.m_szQuoteUser);
ptWrite.put<string>("Configs.GlobalParams.QuotePass", m_globalParams.m_szQuotePass);
ptWrite.put<string>("Configs.GlobalParams.QuoteAuthCode", m_globalParams.m_szQuoteAuthCode);
// switch
if(m_globalParams.m_bCloseConfirm)
ptWrite.put<string>("Configs.GlobalParams.CloseConfirm", "1");
else
ptWrite.put<string>("Configs.GlobalParams.CloseConfirm", "0");
if(m_globalParams.m_bOrderConfirm)
ptWrite.put<string>("Configs.GlobalParams.OrderConfirm", "1");
else
ptWrite.put<string>("Configs.GlobalParams.OrderConfirm", "0");
if(m_globalParams.m_bShowEntrustSuccess)
ptWrite.put<string>("Configs.GlobalParams.ShowEntrustSuccess", "1");
else
ptWrite.put<string>("Configs.GlobalParams.ShowEntrustSuccess", "0");
//operator config
snprintf(szFormat, sizeof(szFormat), "%d", m_pOperatorParams->m_nBuyUpTickNum);
ptWrite.put<string>("Configs.OperatorParams.BuyUpTickNum", szFormat);
snprintf(szFormat, sizeof(szFormat), "%d", m_pOperatorParams->m_nSellDownTickNum);
ptWrite.put<string>("Configs.OperatorParams.SellDownTickNum", szFormat);
auto settings = boost::property_tree::xml_writer_make_settings<std::string>('\t', 1);
boost::property_tree::xml_parser::write_xml(szConfigPath, ptWrite, std::locale(), settings);
}
- boost库读写xml
- boost库简单读写xml
- 使用boost库读写XML文件
- boost 读写 XML 文件
- 基于boost简单读写xml文件笔记
- 基于boost.propertytree的XML文件读写类
- boost库 学习笔记一 boost::share_mutex 互斥锁 读写锁
- Boost学习笔记(四)---利用boost::property_tree;读写xml文件,保存文件
- boost库xml序列化
- boost库xml序列化
- boost库解析XML教程
- linux、Windows、boost库读写锁
- boost xml
- boost xml
- boost xml
- boost::ASIO 读写
- boost读写锁
- boost--asio--读写
- finally字句的用法
- 16、oracle:简单实用的oracle函数
- 在项目中常用到的几个注解@JsonInclude、@JsonFormat、@DateTimeFormat
- poj1987 树的点分治
- Java 9 揭秘全目录汇总
- boost库读写xml
- 面向对象 练习题3
- java程序判断操作系统是Windows还是Linux
- 危险:行注释后面的行连接符
- Spring Boot
- 轻松实现Ecshop商城多语言切换
- 廖雪峰《python3 基础教程》读书笔记——第八章 面向对象编程
- Git客户端工具TortoiseGit安装
- 查找元素——找x