QT ini配置檔案的讀寫(使用QTextStream類)
1、寫ini配置檔案
bool saveFile(const QString &fileFullName){
if(fileFullName.isEmpty())
return false;
QFile fileOut;
QTextStream outStream;
fileOut.setFileName(fileFullName);
if(!fileOut.open(QIODevice::WriteOnly))
{
qDebug("檔案:%s寫入失敗!\n",qPrintable(fileFullName));
return false;
}
outStream.setDevice(&fileOut);
outStream << QObject::tr("[Config]\r\n");
outStream << QObject::tr("Abstract=testName\r\n"));
outStream << QObject::tr("Directory=%1\r\n").arg(QCoreApplication::applicationDirPath());
fileOut.close();
return true;
}
2、讀取ini配置檔案
bool loadFile(const QString &fileFullName){
if(fileFullName.isEmpty())
return false;
QFileInfo fileInfo(fileFullName);
if(!fileInfo.exists())//判斷檔案是否存在
{
qDebug("配置檔案不存在,讀取失敗!\n");
return false;
}
QFile fileIn;
QTextStream *inStream;
QByteArray fileByteArray;
int fileSize;
char fileBuf[CONFIG_FILE_MAX_SIZE];
fileIn.setFileName(fileFullName);
if(!fileIn.open(QIODevice::ReadOnly))
{
qDebug("檔案:%s讀取失敗!\n",qPrintable(fileFullName));
return false;
}
fileSize = fileIn.read(fileBuf, CONFIG_FILE_MAX_SIZE);
fileIn.close();
/* 讀取到類物件中 */
fileByteArray = QByteArray::fromRawData(fileBuf, fileSize);
inStream = new QTextStream(fileByteArray, QIODevice::ReadOnly);
QString tempString;
tempString = inStream->readLine();
if(tempString != tr("[Config]"))
{
qDebug("配置檔案組名錯誤!\n");
return false;
}
while (!(inStream->atEnd()))
{
tempString = inStream->readLine();
if(tempString.startsWith(tr("Abstract=")))
QString testName = tempString.mid(9);
else if(tempString.startsWith(tr("Directory=")))
QString Directory = tempString.mid(10);
else
{
qDebug("無效項!\n");
}
}
delete inStream;
fileIn.close();
return true;
}
3、配置檔案格式
[Config]
Abstract=3sdddsds33211as
Directory=C:\Users\Administors\Desktop\新建資料夾 (2)
4、QSettings和QTextStream的區別
用QSettings儲存純英文配置檔案較為方便,操作簡單,無法處理組名和項名是中文的情況;
用QTextStream可以處理中文內容,且不用特殊處理,實際上,QTextStream是一個通用的文字檔案讀取類,這裡只是借用他來儲存ini檔案。
此外,對於檔案路徑的儲存,QSettings會自動多加入一個'\',讀取的時候會自動去掉一個,而QTextStream不會對路徑字串做任何操作。比如路徑"C:\Users\Administors
相關推薦
C++針對ini配置檔案讀寫大全
ini檔案(Initialization file),這種型別的檔案中通常存放的是一個程式的初始化資訊。ini檔案由若干個節(Section)組成,每個Section由若干鍵(Key)組成,每個Key可以賦相應的值。讀寫ini檔案實際上就是讀寫某個的Section中相應的K
QT ini配置檔案的讀寫(使用QTextStream類)
1、寫ini配置檔案 bool saveFile(const QString &fileFullName) {if(fileFullName.isEmpty())return false;Q
python 配置檔案讀寫
轉自: orientlu 的《python 配置檔案讀寫》 原址:https://www.jianshu.com/p/aadd86f8d38e 前言 將程式碼中的配置項抽取到配置檔案中,修改配置時不需要涉及到程式碼修改,避免面對一堆令人抓狂的 magi
.NET平臺開源專案速覽(1)SharpConfig配置檔案讀寫元件
在.NET平臺日常開發中,讀取配置檔案是一個很常見的需求。以前都是使用System.Configuration.ConfigurationSettings來操作,這個說實話,搞起來比較費勁。不知道大家有沒有同感。所以更多時候我還是喜歡使用開源的東西,更加方便簡潔,也穩定。省去自己的麻煩。今天就介紹一個非常精緻
android 檔案讀寫工具類
public static String readFile(File file) throws IOException{FileInputStream inputStream = new FileInputStream(file);int len=inputStream.available();byte []
C++ 配置檔案讀寫
void CAamsProtocol::WriteConfig() { TCHAR tcExePath[MAX_PATH] = {0}; ::GetModuleFileName(NULL, tcExePath, MAX_PATH); // 設定ini路徑到ex
關於properties配置檔案讀寫,追加以及中文亂碼問題
在開發中常用properties檔案來儲存系統配置資訊,下面就properties檔案的讀寫,資訊追加作簡要介紹,順便也解決亂碼問題。 1、首先介紹一下properties類 properties類繼承自Hashtable package com.gmi.
Unity中INI配置檔案的操作工具類
using UnityEngine; using System.IO; using System.Collections.Generic; /// <summary> /// unity中對ini配置檔案的操作 /// </summary> public class IniFile {
轉:C#檔案讀寫常用類介紹
C#檔案讀寫常用類介紹 首先要熟悉.NET中處理檔案和資料夾的操作。File類和Directory類是其中最主要的兩個類。瞭解它們將對後面功能的實現提供很大的便利。 本節先對和檔案系統相關的兩個.NET類進行簡要介紹。 System.IO.Fi
Qt程式讀寫.ini配置檔案
通過QSettings類讀取.ini配置檔案實現對應用程式的初始化配置是一個非常實用的功能。 配置檔案 應用程式的預設引數一般都是在程式碼中就設定好,但是有時候我們去修改
QT讀寫ini配置檔案以及絕對路徑的使用
讀配置檔案 QString langPath3 = LocaleUtils::getSysHome() + “/conf/fes/simconfig/”; QString conffile2 = QString(“%1abc.ini”).arg(langPa
C++讀寫ini配置檔案GetPrivateProfileString WritePrivateProfileStr
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
GetPrivateProfileString、WritePrivateProfileString讀寫.ini配置檔案應用例項
應用背景(需求):配置工具(exe)開啟一個prof後,下次該prof將作為預設開啟的prof 分析:當開啟一個檔案後,立刻獲取檔案的檔名,並儲存到 .ini 檔案內,在配置工具的的程式初始化函式中加入
C# 基礎(十三)C# XML配置檔案、ini配置檔案的建立、讀寫:動態修改IP
一、簡介 傳統的配置檔案ini已有被xml檔案逐步代替的趨勢,這裡主要討論XML配置檔案。 二、ini網址 https://www.cnblogs.com/cncc/p/3415694.html(重點) https://www.cnblogs.com/xmy-007/p/640022
boost讀寫ini配置檔案
[setting] key1 = 1 key2 = hello 上面是檔案的內容(內容中不能有註釋), 執行如下程式碼: #include <boost/property_tree/ptree.hpp> #include <boost/property
C/C++ 關於如何讀寫ini配置檔案 (小結)
讀取 讀取字元 DWORD GetPrivateProfileString( LPCTSTR lpAppName, // INI檔案中的一個欄位名[節名]可以有很多個節名 LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是裡面具體
C# 讀寫.ini配置檔案
`class Ini { // 宣告INI檔案的寫操作函式 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private static extern
WINCE下讀寫INI配置檔案
// // Read and write initialization files under wince, support ANSI and UNICODE. // Use refer to Microsoft's initialization file format
C++對ini配置檔案與xml配置檔案的讀寫
1、ini檔案的讀寫 在遊戲與軟體開發過程中,我們經常會使用ini的配置檔案,為遊戲或軟體配置相關的引數,因此就有必要對ini檔案進行讀寫操作。 下面介紹C++在讀寫ini檔案中,常用到的幾個函式: 1) 讀.ini檔案: DWOR
讀寫ini配置檔案
//讀寫ini檔案。 #include <Windows.h> int main(int argc, char *argv[]) { TCHAR szData[MAX_PATH]