问题描述
如何使用yaml-cpp解析以下YAML文件?
scene:
- camera:
film:
width: 800
height: 600
filename: "out.svg"
- shape:
name: "muh"
我尝试过:
#include <yaml-cpp/yaml.h>
int main() {
YAML::Node root_node = YAML::LoadFile("Scenes/StanfordBunny.flatland.yaml");
// throws an exception
int value = root_node["scene"]["camera"]["film"]["width"].as<int>();
}
如何获取width
属性的值?
如何获得shape
属性的名称?
解决方法
摄像机前面的“-”表示它是一组对象。所以我的猜测是:
root_node["scene"][0]["camera"]["film"]["width"].as<int>();