c++写yaml文件时key和value换行
时间: 2024-01-06 18:05:34 浏览: 89
可以在写入YAML文件时,使用`YAML::Emitter`来控制输出格式,实现key和value换行的效果。下面是一个示例代码。
```c++
#include <iostream>
#include <yaml-cpp/yaml.h>
int main() {
// 构建YAML文档
YAML::Node yaml_node;
yaml_node["key1"]["subkey1"] = "value1";
yaml_node["key1"]["subkey2"] = "value2";
yaml_node["key2"]["subkey1"] = "value3";
yaml_node["key2"]["subkey2"] = "value4";
// 输出YAML文档
YAML::Emitter emitter;
emitter << yaml_node;
std::cout << emitter.c_str() << std::endl;
// 将YAML文档写入文件
std::ofstream fout("example.yaml");
fout << emitter.c_str();
fout.close();
return 0;
}
```
运行该程序后,会在当前目录下生成一个名为`example.yaml`的文件,文件内容如下:
```yaml
key1:
subkey1: value1
subkey2: value2
key2:
subkey1: value3
subkey2: value4
```
可以看到,该程序成功地将key和value分别换行输出了。
阅读全文