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]表示測量通道參數區等等。

註解:使用分號表示(;)。在分號後面的文字,直到該行結尾都全部爲註解。

 

 

二 Qtini文件

  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文件,結果如下圖所示:

 

三 Qtini文件

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


 

程序運行截圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章