我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Boost PropertyTree该如何解析INI文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Boost PropertyTree该如何解析INI文件

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;}

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Boost PropertyTree该如何解析INI文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Boost PropertyTree该如何解析INI文件

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

MySQL安装后没有ini文件如何解决

如果MySQL安装后没有ini文件,可以按照以下步骤进行解决:1. 找到MySQL安装目录,通常为 "C:\Program Files\MySQL\MySQL Server X.X"(X.X为版本号)。2. 在安装目录下创建一个新的文本文件
2023-09-25

如何解析memory.dmp文件

要解析memory.dmp文件,您可以使用以下方法:1. 使用Windows调试工具:您可以使用Windows调试工具来解析memory.dmp文件。首先,您需要安装Windows调试工具,并将其添加到系统的PATH环境变量中。然后,打开命
2023-09-26

java如何解析wsdl文件

在Java中,可以使用JAX-WS来解析和处理WSDL文件。以下是解析WSDL文件的简单步骤:1. 导入必要的类和库:import javax.wsdl.Definition;import javax.wsdl.WSDLException;
2023-10-18

PHP 如何解析 CSV 文件

CSV 是一种文件类型。它表示逗号分隔的值 - Comma Separated Values 的首字母缩写。通常在其他软件(例如 Excel)中使用。这样可以将数据以表格格式保存,扩展名为 .csv。要使用 PHP 解析 CSV 文件,可以
PHP 如何解析 CSV 文件
2024-02-27

win11拒绝访问该文件夹如何解决

今天小编给大家分享一下win11拒绝访问该文件夹如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。win11拒绝访问该文
2023-07-02

Win7删除文件或文件夹提示“找不到该项目”错误该如何解决

在使用Windows7系统删除文件或者文件夹的时候,会出现“找不到该项目&编程客栈rdquo;的错误提示,可能再次&lQEPFFYXEwdquo;重试”也无济于事,今天就为大家简单概括一下出现该问题的原因及解决方法。
2023-05-26

如何解析Linux文件链接

今天给大家介绍一下如何解析Linux文件链接。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。在Linux系统中链接分为两种:软连接、硬链接,可以使用 ls -l
2023-06-28

mysql中sock文件如何解析

MySQL中的sock文件是指用于本地连接的套接字文件,是一种特殊类型的文件用于进程间通信,要解析MySQL中的sock文件,可以按照以下步骤进行:1、打开MySQL配置文件 my.cnf;2、在配置文件中找到 [mysqld] 部分;3、
mysql中sock文件如何解析
2024-01-29

bandizip无法打开该压缩文件如何解决

这篇“bandizip无法打开该压缩文件如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“bandizip无法打开该压缩
2023-04-08

iis不解析php文件如何解决

这篇文章主要介绍了iis不解析php文件如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇iis不解析php文件如何解决文章都会有所收获,下面我们一起来看看吧。iis不解析php文件的解决办法:1、安装ii
2023-07-04

电脑显示无法播放该文件如何解决

出现电脑显示无法播放该文件的问题,可能是由于以下几个原因导致的:1. 缺少相关的解码器:某些文件格式需要特定的解码器才能播放,如果你的电脑上没有安装相应的解码器,就无法播放该文件。解决方法:可以尝试下载并安装对应的解码器,如K-Lite C
2023-09-09

WinXP修改文件拓展名导致文件不可用该如何解决

相信应该很多WindowsXP系统用户朋友有经历过修改文件名称时会提示“修改文python件拓展名导致文件不可用”是否继续这个问题。出现这种情况一般都是因为文件夹的扩展名被修改了,所以不能用。那么如何解决这XP系统修
2023-06-16

如何在 PHP 中解析 JSON 文件

在本文中,我们将介绍在 PHP 中解析 JSON 文件的方法。使用 file_get_contents() 函数示例代码中使用的 JSON 文件的内容如下。[{"id": "01","name": "Olivia Mason","desig
如何在 PHP 中解析 JSON 文件
2024-02-27

如何解析PHP及配置文件

这篇文章将为大家详细讲解有关如何解析PHP及配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PHP是什么PHP是HypertextPreprocessor超文本预处理器的缩写,是一种广
2023-06-04

如何解析Python 源文件性质

本篇文章给大家分享的是有关如何解析Python 源文件性质,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。对于Python 源文件的学习,个人认为先要从Python的概念学起,其
2023-06-17

vite是如何解析.env文件的

这篇文章主要介绍“vite是如何解析.env文件的”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vite是如何解析.env文件的”文章能帮助大家解决问题。使用vite构建的vue3项目中,可以在根目
2023-07-05

如何在python中解析json文件

本篇文章为大家展示了如何在python中解析json文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录