读写配置文件
参考链接:
https://blog.csdn.net/mars_xiaolei/article/details/97385548
1.Qt Creator新建项目
新建一个控制台项目” ini_test”,方法可参见“第一个Qt程序”。
2. 文件main.cpp内容如下
#include <QCoreApplication>
#include <QDebug>
#include <QVariant>
#include <QSettings>
QSettings *iniFile;
void writeConfig()
{
//创建ini配置文件
iniFile = new QSettings("sysConfig.ini", QSettings::IniFormat);
//判断键是否存在
bool key=iniFile->contains("Helen/age");
qDebug().noquote()<<"Helen/age is "<<key;
if(key == false){
iniFile->beginGroup(QObject::tr("Helen"));
iniFile->setValue(QObject::tr("age"), QObject::tr("20"));
iniFile->setValue(QObject::tr("gender"), QObject::tr("female"));
iniFile->setValue(QObject::tr("id"), QObject::tr("00002"));
iniFile->endGroup();
}
}
void readConfig()
{
//获取配置文件名
QString fileName=iniFile->fileName();
qDebug().noquote()<<"fileName:"<<fileName;
//读取键值对
int age = iniFile->value("Helen/age").toInt();
QString gender = iniFile->value("Helen/gender").toString();
QString id = iniFile->value("Helen/id").toString();
qDebug()<<age<<gender<<id;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
writeConfig();
readConfig();
return a.exec();
}
3.编译、运行和测试
-
Ubuntu中中运行编译(桌面构建套件)后生成的“ini_test”
当前目录下如果没有“sysConfig.ini”配置文件,会自动生成。
文件内容如下:
[Helen]
age=20
gender=female
id=00002
-
开发板中运行编译(开发板构建套件)后生成的“ini_test”
复制可执行文件到开发板,添加权限并运行,终端输出如下信息
Helen/age is false
fileName: /root/sysConfig.ini
20 "female" "00002"
同时当前目录下生成“sysConfig.ini”配置文件。