一 背景

1 ini文件介绍

.ini 文件是Initialization File的缩写,即初始化文件。

除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。

2 ini文件格式

INI文件由节、键、值组成。

  [section]

参数(键=值)

name=value

下面是一个ini文件的例子

[Section1 Name]   

KeyName1=value1   

KeyName2=value2   

...   

[Section2 Name]   

KeyName21=value21   

KeyName22=value22   

其中:[Section1 Name]用来表示一个段落。因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。例如:[Section1 Name]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。

注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。

二 Qt写ini文件

  1.  
    #include <QtCore/QCoreApplication>
  2.  
    #include <QSettings>
  3.  
    int main(int argc, char *argv[])
  4.  
    {
  5.  
    QCoreApplication a(argc, argv);
  6.  
    //Qt中使用QSettings类读写ini文件
  7.  
    //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
  8.  
    QSettings *configIniWrite = new QSettings("hahaya.ini", QSettings::IniFormat);
  9.  
    //向ini文件中写入内容,setValue函数的两个参数是键值对
  10.  
    //向ini文件的第一个节写入内容,ip节下的第一个参数
  11.  
    configIniWrite->setValue("/ip/first", "192.168.0.1");
  12.  
    //向ini文件的第一个节写入内容,ip节下的第二个参数
  13.  
    configIniWrite->setValue("ip/second", "127.0.0.1");
  14.  
    //向ini文件的第二个节写入内容,port节下的第一个参数
  15.  
    configIniWrite->setValue("port/open", "2222");
  16.  
    //写入完成后删除指针
  17.  
    delete configIniWrite;
  18.  
     
  19.  
    return a.exec();
  20.  
    }

运行程序后,打开程序目录下的hahaya.ini文件,结果如下图所示:

三 Qt读ini文件

  1.  
    #include <QtCore/QCoreApplication>
  2.  
    #include <QSettings>
  3.  
    #include <QString>
  4.  
    #include <QDebug>
  5.  
    int main(int argc, char *argv[])
  6.  
    {
  7.  
    QCoreApplication a(argc, argv);
  8.  
     
  9.  
    QSettings *configIniRead = new QSettings("hahaya.ini", QSettings::IniFormat);
  10.  
    //将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型
  11.  
    QString ipResult = configIniRead->value("/ip/second").toString();
  12.  
    QString portResult = configIniRead->value("/port/open").toString();
  13.  
    //打印得到的结果
  14.  
    qDebug() << ipResult;
  15.  
    qDebug() << portResult;
  16.  
    //读入入完成后删除指针
  17.  
    delete configIniRead;
  18.  
    return a.exec();
  19.  
    }

程序运行截图:

转自:https://blog.csdn.net/qiurisuixiang/article/details/7760828

Qt读写ini文件的更多相关文章

  1. Qt对ini文件的读写

    研究了以下Qt下ini文件的读写,不废话,上干货. 写入ini文件 WriteIni.cpp void WriteIni::writeSettings() { QSettings settings(& ...

  2. QT读写ini配置文件

        /********下面是写ini文件*************************/     //Qt中使用QSettings类读写ini文件     //QSettings构造函数的第一 ...

  3. c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)

    c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...

  4. VB读写INI文件的四个函数以及相关API详细说明

    WritePrivateProfileString函数说明  来源:http://blog.csdn.net/wjb9921/article/details/2005000 在我们写的程序当中,总有一 ...

  5. C# 读写INI 文件

    INI 格式: [Section1] KeyWord1 = Value1 KeyWord2 = Value2 ... [Section2] KeyWord3 = Value3 KeyWord4 = V ...

  6. WIN32读写INI文件方法

      在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置.大小.一些用户设置的 数据等等,在 Dos 下编程的时候,我们一般自己产生一个 ...

  7. 读写ini文件

    C# 使用文件流来读写ini文件 背景 之前采用ini文件作为程序的配置文件,觉得这种结构简单明了,配置起来也挺方便.然后操作方式是通过WindowsAPI,然后再网上找到一个基于WindowsAPI ...

  8. 在 WinCe 平台读写 ini 文件

    在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的 ...

  9. Windows中读写ini文件

    .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,来配置应用软件以实现不同用户的要求.配置文件有很多种如ini配置文件,XML ...

随机推荐

  1. javascript高级部分

    回顾 回顾: 整体: - HTML - CSS - JavaScript - 基本数据类型 - for,while.. - DOM - obj = document.getElementById('. ...

  2. Css实现元素的垂直居中

    前言: 在写CSS的时候让元素在高度固定的容器中垂直居中是很简单的,譬如设置容器的padding或者元素的margin之类的都可以做到:让元素在容器中水平居中也有text-align:center.m ...

  3. web开发 入门

    插件 ,索引文件,js目录,视图目录,资产目录,css目录,数据目录,font-awesome-4.7.0目录,图像目录. 引导程序 框架.字体.layer,mockjs.paging分页.树网格.t ...

  4. php基本类型

    php是一种弱类型语言,即变量不需要声明为特定的数据类型,因此在代码编写过程中做'类型处理'很重要. 处理方法: 1.检测类型: 2.转换类型: 3.依赖良好清晰的文档. php类型检查函数:     ...

  5. float类型数保留一位小数

    float类型数保留一位小数 float a = 2.5f; float b = 1.2f; System.out.println(a/b); System.out.println((float)(M ...

  6. 机器学习笔记(6):多类逻辑回归-使用gluon

    上一篇演示了纯手动添加隐藏层,这次使用gluon让代码更精减,代码来自:https://zh.gluon.ai/chapter_supervised-learning/mlp-gluon.html f ...

  7. 配置sonar和jenkins进行代码审查

    转自:  http://www.cnblogs.com/gao241/p/3190701.html, 版权归原作者所有. 本文以CentOS操作系统为例介绍Sonar的安装配置,以及如何与Jenkin ...

  8. mysql5.7报err 1055错误 sql_mode=only_full_group_by

    vim /etc/my.cnf 末尾增加 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_B ...

  9. centos下mysql自动备份(亲测可用)

    编写sh脚本如下: #!/bin/bash db_user="root" db_passwd="123456" db_name="test_db&qu ...

  10. 关于Python ,requests的小技巧

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xie_0723/article/details/52790786 关于 Python Request ...