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++11中decltype的使用

    一文详解C++11中decltype的使用

    这篇文章主要为大家分享了C++11中decltype关键字的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2023-07-07
  • 利用C/C++二进制读写png文件的方法示例

    利用C/C++二进制读写png文件的方法示例

    最近在做项目的时候遇到了这个问题,所以想着总结下,方法自己和有需要的朋友,下面这篇文章主要介绍了利用C/C++二进制读写png文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • C++ 异常的详细介绍

    C++ 异常的详细介绍

    这篇文章主要介绍了C++ 异常的详细介绍的相关资料,希望通过本文大家能够掌握C++异常的使用方法,需要的朋友可以参考下
    2017-09-09
  • 浅析C++中的间接宏函数

    浅析C++中的间接宏函数

    这篇文章主要介绍了C++中的间接宏函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • C++中为什么要使用动态内存

    C++中为什么要使用动态内存

    大家好,本篇文章主要讲的是C++中为什么要使用动态内存,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • C语言实现宾果消消乐

    C语言实现宾果消消乐

    这篇文章主要为大家详细介绍了C语言实现宾果消消乐,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 链接库动态链接库详细介绍

    链接库动态链接库详细介绍

    静态链接库.lib和动态链接库.dll。其中动态链接库在被使用的时候,通常还提供一个.lib,称为引入库,它主要提供被Dll导出的函数和符号名称,使得链接的时候能够找到dll中对应的函数映射
    2012-11-11
  • QT树的具体项目实现

    QT树的具体项目实现

    本文主要介绍了QT树的具体项目实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • C语言实现学生信息管理系统(链表)

    C语言实现学生信息管理系统(链表)

    这篇文章主要为大家详细介绍了C语言实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++实现大整数乘法(字符串乘法)

    C++实现大整数乘法(字符串乘法)

    这篇文章主要为大家详细介绍了C++实现大整数乘法、字符串乘法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09

最新评论