gpt4 book ai didi

c++ - Qt - QTextStream - 如何将光标位置设置为一行的开头?

转载 作者:行者123 更新时间:2023-11-28 07:36:01 25 4
gpt4 key购买 nike

readLine()后,如何设置光标位置到行首?

使用 seek()pos() 对我不起作用。

这是我的 file.txt 的样子:

Object1 Some-name 2 3.40 1.50

Object2 Some-name 2 3.40 1.50 3.25

Object3 Some-name 2 3.40 1.50

这是我的代码:

QFile file("file.txt");
if(file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream stream(&file);

while(!stream.atEnd()) {
qint64 posBefore = file.pos();
QString line = stream.readLine();
QStringList splitline = line.split(" ");

if(splitline.at(0) == "Object1") {
stream.seek(posBefore);
object1 tmp;
stream >> tmp;
tab.push_back(tmp);
}

if(splitline.at(0) == "Object2") {
stream.seek(posBefore);
object2 tmp;
stream >> tmp;
tab.push_back(tmp);
}

if(splitline.at(0) == "Object3") {
stream.seek(posBefore);
object3 tmp;
stream >> tmp;
tab.push_back(tmp);
}

}
file.close();
}

最佳答案

因此,您需要(反)序列化

努力做对。这是官方文档:http://qt-project.org/doc/qt-4.8/datastreamformat.html这是示例:Serialization with Qt

关于c++ - Qt - QTextStream - 如何将光标位置设置为一行的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16759147/

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