带有空格的 yaml-cpp 格式映射

yaml-cpp format maps with whitespaces

使用 yaml-cpp 库,是否可以用空格格式化 YAML::Emitter?例如,如果我有一个结构发出这样的东西:

    Fruit:
     - {Name: Apple, Number: 32}
     - {Name: Oranges, Number: 64}
     - {Name: Pineapple, Number: 128}

我可以这样输出吗:

    Fruit:
     - {Name: Apple,      Number: 32}
     - {Name: Oranges,    Number: 64}
     - {Name: Pineapple,  Number: 128}

这样做的动机是我有非常大的地图,如果有一种方法可以将它们格式化,这样键就可以按列排列,那么它们会更容易阅读。我使用 YAML::Flow 而不是 YAML::Block 作为地图格式的原因是因为使用块格式,文件变得又长又难读。关于如何实现这个或类似的东西有什么想法吗?

谢谢!

你不能那样做;这不是 yaml-cpp 的特性。您必须在块格式和流格式之间做出决定。