readLine()
之後,如何將光標位置設置爲一行的起始位置?Qt - QTextStream - 如何將光標位置設置爲行首?
使用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();
}
什麼你真的需要做什麼? – troyane
我用readLine()讀了一行,並且希望流中的光標返回到行的開始位置 – user2224198
您期望得到什麼?描述你想得到的結果。 – troyane