返回顶部
首页 > 资讯 > 精选 >Boost PropertyTree该如何解析INI文件
  • 317
分享到

Boost PropertyTree该如何解析INI文件

2023-06-22 08:06:40 317人浏览 泡泡鱼
摘要

Boost PropertyTree该如何解析INI文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言PropertyTree是一个非常牛叉的东西

Boost PropertyTree该如何解析INI文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

前言

PropertyTree是一个非常牛叉的东西!虽然很小,但是,相当需要,相当重要!因为,很多的东西,我们不需要去开发,只需要去用就好了,这个东西的开发正的是极好极好的!

更重要的是,它来自大名鼎鼎的Boost库,这个库的重要性,已经是不言而喻了!

property_tree是一个保存了多个属性的树形数据结构

可以使用类似访问路径的方式问任意节点的属性,而且每个节点都可以用类似STL的风格遍历子节点。

property_tree适合于应用程序的配置数据处理,可以解析xml、ini、JSON和info四种格式的文本数据据

它简直,就是最好的读取配置文件库!

什么是property_tree?

属性树库提供了一种数据结构,该数据结构存储了任意深度嵌套的值树,并通过一些键在每个级别上建立索引。树的每个节点都存储它自己的值,以及它的子节点和它们的键的有序列表。树允许通过路径方便地访问任何节点,这是多个键的的存储

此外,该库为许多数据格式提供了解析器和生成器,这些数据格式可以由这样的树表示,包括XML、INI和jsON

属性树是通用的数据结构,但特别适合保存配置数据。树提供了自己的树特有的接口,并且每个节点也是其子节点的stl兼容序列。【说白了,这就是一个自我嵌套的数据结构】

在概念上,节点可以被认为是以下结构:

struct ptree{data_type data;// data associated with the nodelist< pair<key_type, ptree>> children;// ordered list of named children};

可以看到,这个就是一个自我嵌套的一个数据结构!

Boost PropertyTree该如何解析INI文件

key_type和data_type在某种程度上都是可配置的,但是通常是std::string或std::wstring,而解析器只处理这种树。

许多软件项目在其生命周期的某一时刻开发了类似的工具,而属性树也以相同的方式产生。我们希望lib能拯救许多人,让他们不要重新发明轮子。

实现代码

#include <iOStream>#include <string>#include <boost/property_tree/ptree.hpp>  #include <boost/property_tree/ini_parser.hpp>using namespace std;using namespace boost;// 写入文件void init_ini(const std::string &filename){    using boost::property_tree::ptree;    ptree pt;    // 增加新的键值对    pt.add("config.address", "192.168.1.1");    pt.add("config.port", 22);    // 修改原有键值对    pt.put("config.port", 3389);    write_ini(filename, pt);}int main(int arGC, char *argv[]){    std::string f("c://config.ini");    init_ini(f);    // 读取ini文件    boost::property_tree::ptree ptr, tag;    boost::property_tree::ini_parser::read_ini("c://config.ini", ptr);    tag = ptr.get_child("config");    std::string address = tag.get<std::string>("address");    int port = tag.get<int>("port");    std::cout << "地址: " << address << " 端口: " << port << std::endl;    std::system("pause");    return 0;}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: Boost PropertyTree该如何解析INI文件

本文链接: https://lsjlt.com/news/303539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Boost PropertyTree该如何解析INI文件
    Boost PropertyTree该如何解析INI文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言PropertyTree是一个非常牛叉的东西...
    99+
    2023-06-22
  • C++BoostPropertyTree解析INI文件详解
    目录前言什么是property_tree?实现代码前言 PropertyTree是一个非常牛叉的东西!虽然很小,但是,相当需要,相当重要!因为,很多的东西,我们不需要去开发,只需要去...
    99+
    2024-04-02
  • 如何读写VB.NET INI文件
    这篇文章主要介绍了如何读写VB.NET INI文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。自从注册表诞生以来ini文件正在逐渐失去其市场占有率,然而基于ini文件的独立...
    99+
    2023-06-17
  • mysql如何创建ini文件
    在MySQL中,你可以使用以下步骤创建一个ini文件: 创建一个新的文本文件,并将其命名为你想要的.ini文件名(比如my.ini...
    99+
    2024-04-09
    mysql
  • 详解C#如何实现读写ini文件
    目录介绍1.创建一个ini文件2.创建一个winform界面3.添加一个ini管理类4.添加winform代码介绍 INI文件格式由节、键、值组成。 节 [section] 参数 (...
    99+
    2024-04-02
  • MySQL安装后没有ini文件如何解决
    如果MySQL安装后没有ini文件,可以按照以下步骤进行解决:1. 找到MySQL安装目录,通常为 "C:\Program File...
    99+
    2023-09-25
    MySQL
  • Java实现解析ini文件对应到JavaBean中
    目录1、ini文件简介2、ini文件3、ini解析工具类4、示例运行结果1、ini文件简介 .ini 文件是Initialization File的缩写,即初始化文件,是window...
    99+
    2024-04-02
  • python如何读取ini配置文件
    Python提供了一个标准库`configparser`用于读取和修改INI文件。首先,需要导入`configparser`模块:`...
    99+
    2023-10-08
    python
  • Python实现解析ini配置文件的示例详解
    目录楔子ini 文件特殊格式小结楔子 在开发过程中,配置文件是少不了的,只不过我们有时会将 py 文件作为配置文件(config.py),然后在其它的模块中直接导入。这样做是一个好主...
    99+
    2024-04-02
  • QT中如何读写ini配置文件
    如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取。 第一步:界面构造函数中,初始化一个Conf...
    99+
    2024-04-02
  • Python如何实现ini和yaml文件读取
    本文小编为大家详细介绍“Python如何实现ini和yaml文件读取”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现ini和yaml文件读取”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. ...
    99+
    2023-07-05
  • 利用C++实现简易的.ini配置文件解析器
    目录前言代码Util.hUtil.cppmain.cpp运行截图前言 实现了一个比较简单的ini文件解析器,下面介绍一下怎么用的 在最开始实例化一个IniHelper 可以使用默认的...
    99+
    2023-03-09
    C++实现ini配置文件解析器 C++ ini配置文件解析 C++ 配置文件解析
  • 如何解析memory.dmp文件
    要解析memory.dmp文件,您可以使用以下方法:1. 使用Windows调试工具:您可以使用Windows调试工具来解析memo...
    99+
    2023-09-26
    解析
  • 怎么用C++实现简易的.ini配置文件解析器
    本篇内容介绍了“怎么用C++实现简易的.ini配置文件解析器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在最开始实例化一个IniHelpe...
    99+
    2023-07-05
  • java如何解析wsdl文件
    在Java中,可以使用JAX-WS来解析和处理WSDL文件。以下是解析WSDL文件的简单步骤:1. 导入必要的类和库:import ...
    99+
    2023-10-18
    java
  • PHP 如何解析 CSV 文件
    CSV 是一种文件类型。它表示逗号分隔的值 - Comma Separated Values 的首字母缩写。通常在其他软件(例如 Excel)中使用。这样可以将数据以表格格式保存,扩展名为 .csv。要使用...
    99+
    2024-02-27
  • 如何修改ini文件的批处理与vbs代码
    这篇文章主要介绍如何修改ini文件的批处理与vbs代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!批处理代码:@echo off >tmp.inifor /f &quo...
    99+
    2023-06-08
  • 如何实现Python中ini配置文件读写操作
    这篇文章将为大家详细讲解有关如何实现Python中ini配置文件读写操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导入模块import configparser # py...
    99+
    2023-06-29
  • win11拒绝访问该文件夹如何解决
    今天小编给大家分享一下win11拒绝访问该文件夹如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win11拒绝访问该文...
    99+
    2023-07-02
  • Win7删除文件或文件夹提示“找不到该项目”错误该如何解决
    在使用Windows7系统删除文件或者文件夹的时候,会出现“找不到该项目&dquo;重试”也无济于事,今天就为大家简单概括一下出现该问题的原因及解决方法。 针对出现该问题的不同原因对应的解决办法...
    99+
    2023-05-26
    Win7 文件 错误 项目 文件夹
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作