c++ 解析yaml文件的步骤
一直用c++操作ini做配置文件,想换成yaml,在全球最大的同性交友网站github上搜索,看有没有开源的库,功夫不负有心人,找到了运行完后,会得到libyaml-cpp.a。配置CMakeLists.txt把头文件和静态库加到项目里,这样在编译和链接时才能通过对yaml-cpp的配置就完成了。看一下我的config文件其中api和v是比较简单的键值,我们可以直接读取他们的值label是一个map,containers是一个列表,这就要特殊处理一下,yaml-cpp有自己的转换模板在进行转换的时候他会判断有没有实现 decode方法Node是yaml-cpp的核心,我们的配置的所有操作都从这个类中进行。encode方法是把我们自定义的struct转换成yaml-cpp的Node,container也是一样的具体化完整代码如下:
用户评论