我想在我的一个项目中使用 yaml-cpp 来生成 yaml 文件,但是我很难弄清楚我到底应该如何处理这个问题。我需要发出的 yaml 文件应如下所示:
action_counts:
version: 0.3
subtree:
- name: system
local:
- name: adder
action_counts:
- name: add
counts: 1000
- name: idle
counts: 10000
Run Code Online (Sandbox Code Playgroud)
到目前为止我还没能写出最后四行。我知道“-”代表一个数组,但我不知道如何打印名称并计算这样的键数。
我编写了一些代码来试验 yaml-cpp。代码如下:
YAML::Node node;
node["action_counts"] = YAML::Null;
node["action_counts"]["version"] = "0.3";
node["action_counts"]["subtree"].push_back("system");
std::ofstream fout("fileUpdate.yaml");
fout << node;
return 0;
Run Code Online (Sandbox Code Playgroud)
它产生的输出是这样的:
action_counts:
version: 0.3
subtree:
- system
Run Code Online (Sandbox Code Playgroud)
这里的最后一行是错误的,但我还没有设法找到如何打印- name: system而不是这一行。我该怎么做呢?
完成后我如何打印其余部分?是数组local的一部分吗- name?我想一旦我知道如何将它们格式化为两行,我就可以自己弄清楚其余的内容。