gpt4 book ai didi

c++ - 从配置文件 qsetting 中删除键/值对

转载 作者:行者123 更新时间:2023-11-30 05:16:18 28 4
gpt4 key购买 nike

我正在尝试在配置文件中搜索字符串,如果字符串匹配要删除键/值对。我从文件中获取了 qstringlist。 就我尝试过的代码而言

int main(int argc, char *argv[])
{
QSettings* settings= new QSettings("/home/sidheshwar/Desktop/temp.txt", QSettings::IniFormat);

settings->beginGroup("Profiles");
const QStringList childKeys = settings->childKeys();

QStringList Keys;
QStringList values;
QString user="db-host";
QString tempUser;


foreach (const QString &childKey, childKeys)
{
Keys << childKey;
values << settings->value(childKey).toString();
}

for(int i=0;i< Keys.length();i++){
if(user == values.at(i)){
qDebug() << " keys" << Keys[i] << endl;
tempUser=Keys[i];

}
qDebug() << " tempUser" << tempUser << endl;


}
return 0;}

我如何使用 settings->remove(tempUser);

最佳答案

在下面的示例中,我将向您展示如何从处理配置的文件中删除数据的示例。

temp.ini 执行前。

[Profiles]
key1=db-host
key2=value2
key3=value3

main.cpp

#include <QCoreApplication>
#include <QSettings>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QSettings* settings= new QSettings("temp.ini", QSettings::IniFormat);

settings->beginGroup("Profiles");
const QStringList childKeys = settings->childKeys();

QStringList Keys;
QStringList values;
QString user="db-host";


foreach (const QString &childKey, childKeys)
{
Keys << childKey;
values << settings->value(childKey).toString();
}

for(int i=0;i< Keys.length();i++){
if(user == values.at(i)){
qDebug() << " keys" << Keys[i];
settings->remove(Keys[i]);
}
qDebug() << Keys[i] << values.at(i);
}


return a.exec();
}

输出:

temp.ini执行后

[Profiles]
key2=value2
key3=value3

关于c++ - 从配置文件 qsetting 中删除键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42724746/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com