读写.ini文件
读写.ini文件
- 零,前言
- 一,写
- 二,读
- 总
零,前言
.ini文件是程序的配置文件,它用来记录历史信息,界面信息,用户操作等,当然除了ini文件可以保存信息,其它文件也可以保存操作的(json,txt,csv等),如果数据比较少且读写不频繁时可以使用后面几种格式保存。
使用ini文件保存:它不需要打开文件即可操作。
使用其它方式保存:需要先打开文件才能进行读写操作。
所以遇到操作频繁的情况,ini文件会有巨大的优势。
操作ini文件需要使用到类QSettings,原型如下:
QSettings setting(const QString &fileName,Format format,QObject* parent = 0);
参数1:配置文件名,若文件名不存在,则自动创建;
参数2:等于QSetting::IniFormat时,表示读写 *.ini格式的配置文件;
参数3:可以缺省;
先在文件头添加头文件 #include ,
一,写
//创建QSettings对象并指定ini文件路径并将格式设置为iniQSettings setting("./iniTest.ini", QSettings::IniFormat);//创建第一个分组(创建分组的第一种方法)setting.beginGroup("group1");//添加第一个分组中的键值对setting.setValue("key1", "val1");setting.setValue("key2", "val2");setting.setValue("sameKay", "sameVal");//设置当前分组结束setting.endGroup();//添加第二个分组以及其键值对(创建分组的第二种方法)setting.setValue("group2/jian1", "zhi1");setting.setValue("group2/jian2", "zhi4");setting.setValue("group2/jian3", "zhi2");setting.setValue("group2/sameKay", "sameZhi");
二,读
读取指定值,也有一种方法读取所有键值。
//创建QSettings对象并指定ini文件路径并将格式设置为iniQSettings setting1("./iniTest.ini", QSettings::IniFormat);qDebug() << "第二种读取方法";//获取ini文件中所有的组QStringList groupList = setting1.childGroups();//指定读取某组的数据setting1.beginGroup(groupList[1]);//遍历该组的键foreach (QString key, setting1.childKeys()){//将当前的键值对打印输出qDebug() << key << setting1.value(key).toString();}
总
该文章是个人记录使用
读写.ini文件
读写.ini文件
- 零,前言
- 一,写
- 二,读
- 总
零,前言
.ini文件是程序的配置文件,它用来记录历史信息,界面信息,用户操作等,当然除了ini文件可以保存信息,其它文件也可以保存操作的(json,txt,csv等),如果数据比较少且读写不频繁时可以使用后面几种格式保存。
使用ini文件保存:它不需要打开文件即可操作。
使用其它方式保存:需要先打开文件才能进行读写操作。
所以遇到操作频繁的情况,ini文件会有巨大的优势。
操作ini文件需要使用到类QSettings,原型如下:
QSettings setting(const QString &fileName,Format format,QObject* parent = 0);
参数1:配置文件名,若文件名不存在,则自动创建;
参数2:等于QSetting::IniFormat时,表示读写 *.ini格式的配置文件;
参数3:可以缺省;
先在文件头添加头文件 #include ,
一,写
//创建QSettings对象并指定ini文件路径并将格式设置为iniQSettings setting("./iniTest.ini", QSettings::IniFormat);//创建第一个分组(创建分组的第一种方法)setting.beginGroup("group1");//添加第一个分组中的键值对setting.setValue("key1", "val1");setting.setValue("key2", "val2");setting.setValue("sameKay", "sameVal");//设置当前分组结束setting.endGroup();//添加第二个分组以及其键值对(创建分组的第二种方法)setting.setValue("group2/jian1", "zhi1");setting.setValue("group2/jian2", "zhi4");setting.setValue("group2/jian3", "zhi2");setting.setValue("group2/sameKay", "sameZhi");
二,读
读取指定值,也有一种方法读取所有键值。
//创建QSettings对象并指定ini文件路径并将格式设置为iniQSettings setting1("./iniTest.ini", QSettings::IniFormat);qDebug() << "第二种读取方法";//获取ini文件中所有的组QStringList groupList = setting1.childGroups();//指定读取某组的数据setting1.beginGroup(groupList[1]);//遍历该组的键foreach (QString key, setting1.childKeys()){//将当前的键值对打印输出qDebug() << key << setting1.value(key).toString();}
总
该文章是个人记录使用