yml文件读写
使用开源的代码:yaml-cpp
git clone https://github.com/jbeder/yaml-cpp.git
参考网上几个简单的例子,读写yml文件还是比较简单的,但问题在于那些例子中读使用了yaml中的node,并不是读到我们希望的变量中。写也没有太多可以自己设置的地方。
所以需要我们重载一些函数满足自己的使用。
比如重载了运算符" >>",这样就可以将node中的内容赋值给vector变量。
1 template <typename T> 2 void operator >> (const YAML::Node& node, vector<T>& v) { 3 4 int nsize = node.size(); 5 v.resize(nsize, 0); 6 for (int i = 0; i < nsize; i++) 7 { 8 //node[i] >> v[i]; 9 v[i] = node[i].as<T>(); 10 } 11 }
调用:
vector<int> vectmp; node >> vectmp;
当然也可以重载”=“运算符等其他操作。
参考博客:https://blog.csdn.net/Fourier_Legend/article/details/82798297
关于yml文件的读写可以参考下面的博客: