yaml-cpp 读取数组
时间: 2023-12-21 13:05:46 浏览: 348
yaml-cpp 可以通过 YAML::Node 对象来读取 YAML 文件中的数组。
例如,假设我们有一个名为 "data.yaml" 的 YAML 文件,其中包含一个整数数组:
```
my_array: [1, 2, 3, 4, 5]
```
我们可以使用以下代码来读取该数组:
```cpp
#include <yaml-cpp/yaml.h>
#include <iostream>
#include <vector>
int main() {
YAML::Node config = YAML::LoadFile("data.yaml");
std::vector<int> my_array = config["my_array"].as<std::vector<int>>();
for (const auto& element : my_array) {
std::cout << element << std::endl;
}
return 0;
}
```
在上面的代码中,我们首先使用 YAML::LoadFile() 函数加载 YAML 文件并将其存储在 YAML::Node 对象中。然后,我们使用 config["my_array"] 访问 YAML 文件中的 "my_array" 数组,并使用 as<std::vector<int>>() 将其转换为 std::vector<int> 类型。最后,我们使用 for 循环遍历数组并打印每个元素的值。
注意:YAML::Node 对象也可以表示其他类型的数据,例如对象,标量等。因此,在访问数组之前,最好检查节点是否是一个序列类型,可以使用 YAML::NodeType::Sequence 来检查节点是否是序列类型。
阅读全文