qt如何读取txt文件最后20行文本
时间: 2023-12-08 10:05:54 浏览: 71
你可以使用 QFile 和 QTextStream 类来读取 txt 文件的最后 20 行文本。具体的代码可以参考下面这段:
```C++
#include <QFile>
#include <QTextStream>
#include <QStringList>
QList<QString> readLastLines(QString filePath, int numLines)
{
QList<QString> lines;
QFile file(filePath);
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream in(&file);
QStringList allLines;
while (!in.atEnd())
{
allLines << in.readLine();
}
int start = qMax(0, allLines.size() - numLines);
for (int i = start; i < allLines.size(); ++i)
{
lines << allLines.at(i);
}
}
return lines;
}
```
你可以用 `filePath` 参数来传入要读取的 txt 文件路径,用 `numLines` 参数来传入要读取的最后几行文本的数量。函数会按照倒序的方式读取文件,并返回一个包含最后几行文本的字符串列表 `lines`。