c++ 开发中如何读写yaml配置文件

 更新时间:2023年04月06日 15:02:24   作者:求知小鱼儿  
这篇文章主要介绍了c++ 开发中如何读写yaml配置文件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

c++ 开发中利用yaml-cpp读写yaml配置文件

1、yaml-cpp 是一个开源库,地址在 github 上,https://github.com/jbeder/yaml-cpp
在ubuntu中可以输入git clone https://github.com/jbeder/yaml-cpp获取yaml-cpp源码。
2、进入到yaml-cpp目录,新建一个build目录。
3、进入到build目录,输入cmake -D BUILD_SHARED_LIBS=ON …编译出动态库。
4、创建自己测试用的文件夹,将yaml-cpp目录下面的include 目录拷贝到测试目录下,将编译后的动态库也拷贝到测试目录下,同事目录下在编写三个文件,分别为CMakeLists.txt、config.yaml、main.cpp。
main.cpp内容如下:

#include <iostream>
#include "include/yaml-cpp/yaml.h"

using namespace std;

int main(int argc,char** argv)
{
    YAML::Node config = YAML::LoadFile("../config.yaml");

    cout << "name:" << config["name"].as<string>() << endl;
    cout << "sex:" << config["sex"].as<string>() << endl;
    cout << "age:" << config["age"].as<int>() << endl;
    return 0;
}

config.yaml内容如下:

name: xiaoyu
sex: man
age: 20

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.2)

project(yaml_test)

add_definitions(-std=c++11)
include_directories(include)
set(SRCS main.cpp)
add_executable(yamltest ${SRCS})

target_link_libraries(yamltest ${CMAKE_HOME_DIRECTORY}/libs/libyaml-cpp.so)

5、在当前目录创建 build 文件夹,然后进入 build 文件执行 cmake 操作。

mkdir build
cd build
cmake ..

特别说明:
编译过程中如遇到:
关于 CMake Error: CMake Error: The source directory …does not appear to contain CMakeLists.txt.这个问题时,只需要复制一下终端报错内容中的CMakeLists.txt对自己所写的cmake文件重新命名,编译就可以啦。

到此这篇关于c++ 开发中读写yaml配置文件的文章就介绍到这了,更多相关c++ yaml配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于C语言实现钻石棋游戏的示例代码

    基于C语言实现钻石棋游戏的示例代码

    独立钻石是源于18世纪法国的宫廷贵族的自我挑战类单人棋游戏,可以锻炼逻辑思维能力。本文将用C语言实现这一简单的游戏,感兴趣的小伙伴可以了解一下
    2023-02-02
  • 解析C++编程中异常相关的堆栈展开和throw()异常规范

    解析C++编程中异常相关的堆栈展开和throw()异常规范

    这篇文章主要介绍了C++编程中异常相关的堆栈展开和throw()异常规范,throw()规范部分文中结合了C++11标准的新特性来讲,需要的朋友可以参考下
    2016-01-01
  • C++中I/O模型之select模型实例

    C++中I/O模型之select模型实例

    这篇文章主要介绍了C++中I/O模型的select模型,实例讲述了I/O模型的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • C++中Stack(栈)的使用方法与基本操作详解

    C++中Stack(栈)的使用方法与基本操作详解

    Stack是一种常见的数据结构,常常被用来解决递归问题、括号匹配问题、函数调用栈等等。本文将介绍C++中stack的使用方法及基本操作,需要的可以参考一下
    2023-05-05
  • C++虚函数的实现机制分析

    C++虚函数的实现机制分析

    这篇文章主要介绍了C++虚函数的实现机制分析,需要的朋友可以参考下
    2014-07-07
  • C++之关于string对象的大小比较

    C++之关于string对象的大小比较

    这篇文章主要介绍了C++之关于string对象的大小比较方式,具有很好的 参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Qt控件点击消息获取的方法详解

    Qt控件点击消息获取的方法详解

    本文将利用Qt中的QLabel、QPushButton这两个控件,为大家详细介绍一下Qt控件点击消息获取的方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-06-06
  • 聊一聊OpenCV相机标定

    聊一聊OpenCV相机标定

    这篇文章主要为大家详细介绍了OpenCV相机标定的相关资料,即获得相机参数的过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C语言小程序 杨辉三角示例代码

    C语言小程序 杨辉三角示例代码

    输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制
    2013-07-07
  • C++实现哈夫曼树简单创建与遍历的方法

    C++实现哈夫曼树简单创建与遍历的方法

    这篇文章主要介绍了C++实现哈夫曼树简单创建与遍历的方法,对于C++算法的学习来说不失为一个很好的借鉴实例,需要的朋友可以参考下
    2014-07-07

最新评论