gpt4 book ai didi

c++ boost 库 - 写入 ini 文件而不覆盖?

转载 作者:太空宇宙 更新时间:2023-11-04 13:42:56 31 4
gpt4 key购买 nike

我正在尝试使用 boost 库的 ini 解析器和属性树编写 ini 文件。该文件是分阶段编写的——我的意思是每个函数都写入其中的一部分。最后我只剩下最后一个输出,而不是把所有东西都写下来。

我在写作时使用的示例代码:

property_tree::ptree pt;
string juncs=roadID;
size_t pos = juncs.find_last_of("j");
string jstart = juncs.substr(0,pos);
string jend = juncs.substr(pos,juncs.length());
pt.add(repID + ".startJunction", jstart);
pt.add(repID + ".endJunction", jend);
write_ini("Report.ini", pt);

如何在不覆盖其余文本的情况下使用 write_ini 函数?

最佳答案

只需分步构建ptree,完成后才编写:

Live On Coliru

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>

using namespace boost::property_tree;

struct X {
void add_junction(std::string repID, ptree& pt) const {
std::string juncs = _roadID;
std::size_t pos = juncs.find_last_of("j");
std::string jstart = juncs.substr(0,pos);
std::string jend = juncs.substr(pos,juncs.length());

pt.add(repID + ".startJunction", jstart);
pt.add(repID + ".endJunction", jend);
}

std::string _roadID = "123890234,234898j340234,23495905";
};

int main()
{
ptree pt;

X program_data;
program_data.add_junction("AbbeyRoad", pt);
program_data.add_junction("Big Ben", pt);
program_data.add_junction("Trafalgar Square", pt);

write_ini("report.ini", pt);
}

输出:

[AbbeyRoad]
startJunction=123890234,234898
endJunction=j340234,23495905
[Big Ben]
startJunction=123890234,234898
endJunction=j340234,23495905
[Trafalgar Square]
startJunction=123890234,234898
endJunction=j340234,23495905

关于c++ boost 库 - 写入 ini 文件而不覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067475/

31 4 0
文章推荐: javascript - 查询 |如何从选择的html元素中获取选定的项目
文章推荐: java - Appcompact 21.0.3 addOnPageChangeListener 错误
文章推荐: java - Android - 如何选择没有本地化的 strings.xml
文章推荐: Javascript: TypeError: document.getElementById(...) 为 null 动态创建
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com