Categories
不学无术

Qt读写ini文件

本文转载自:http://blog.csdn.net/qiurisuixiang/article/details/7760828

一 背景

 

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文件

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

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

 

三 Qt读ini文件

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

程序运行截图:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.