gpt4 book ai didi

c++ - 在qt中读取Qfile

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

我是 c++ 和 qt 的初学者。

我必须读取用户配置文件并在添加新用户时对其进行更改。

[db-Host]
type=1
host=10.25.36.15
charsize=0
foreground=0
background=0
Cursor=0
AnswerBack=None
CursorKeypad=0
termtype=vt220
capslock=0
CharacterSet=0
Num Lock=0
maxrows=0
maxcols=0
Cser_connec=0
functionkey_set=0
mouseCursor=1
autoStart=1
euro=0

我试过简单的 cpp 文件来读取它,如下所示。

#include "mainwindow.h"
#include <QApplication>
#include<QFile>
#include<QString>

#include <QTextStream>

QTextStream cout(stdout);
QTextStream cerr(stderr);



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

QString str, newstr;
QTextStream strbuf(&str);

QString useName = "[db-Host]";
QString pi = "ServerName=55333";

cout << "An in-memory stream" << endl;
strbuf << "userName: " << lucky << endl
<< "pi: " << pi << endl;


QFile data("/home/sidheshwar/Desktop/temp.txt");


cout << "Read data from the file - watch for errors." << endl;
if(data.open( QIODevice ::ReadOnly)) {
QTextStream in(&data);
QString lucky2;
in >> newstr >> lucky2>>endl;
if (lucky != lucky2)
cerr << "ERROR! wrong " << newstr << lucky2 << endl;
else
cout << newstr << " OK" << endl;
QString pi2;
in >> newstr >> pi2;
if (pi2 != pi)
cerr << "ERROR! Wrong " << newstr << pi2 << endl;
else
cout << newstr << " OK" << endl;

data.close();
}

return 0;
}

关于如何让特定用户(在 ["user"] 中)出现在文件中的任何建议,以便我可以重写其字段,否则创建另一个字符串。

我附上了enter image description here输出屏幕截图

最佳答案

我想你可以使用 QSettings类直接读取“ini文件”,无需自己解析内容。

QSettings settings("/home/sidheshwar/Desktop/temp.txt", QSettings::IniFormat);
// read the [db-Host] host value
QString host = settings.value("db-Host/host").toString();

关于c++ - 在qt中读取Qfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42646719/

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