ros中yaml.cpp用法
时间: 2024-05-13 22:17:56 浏览: 84
c++版yaml库yaml-cpp
5星 · 资源好评率100%
在ROS中,yaml.cpp是一个用于读取和编写YAML格式文件的库。下面是一些常见的用法示例:
1. 读取YAML文件
```
#include <yaml-cpp/yaml.h>
#include <iostream>
#include <fstream>
int main() {
YAML::Node config = YAML::LoadFile("config.yaml");
std::string name = config["name"].as<std::string>();
int age = config["age"].as<int>();
std::cout << "Name: " << name << ", Age: " << age << std::endl;
return 0;
}
```
上述代码中,我们首先包含了yaml-cpp库和iostream头文件,然后通过`YAML::LoadFile`函数读取了名为`config.yaml`的YAML文件。最后,我们从配置文件中读取了`name`和`age`属性,并将它们打印出来。
2. 编写YAML文件
```
#include <yaml-cpp/yaml.h>
#include <fstream>
int main() {
YAML::Emitter out;
out << YAML::BeginMap;
out << YAML::Key << "name";
out << YAML::Value << "Alice";
out << YAML::Key << "age";
out << YAML::Value << 20;
out << YAML::EndMap;
std::ofstream fout("config.yaml");
fout << out.c_str();
fout.close();
return 0;
}
```
上述代码中,我们使用`YAML::Emitter`类来创建一个YAML格式的输出流。然后,我们使用`<<`操作符向输出流中添加YAML格式的数据,最后将输出流中的内容写入名为`config.yaml`的文件中。
这些是yaml.cpp的基本用法示例,你可以根据自己的需要进一步探索其它用法。
阅读全文