qt删除txt指定行
时间: 2023-10-27 22:05:51 浏览: 99
qt 删除文件中的指定行
你可以使用以下代码来删除一个 txt 文件中的指定行:
```cpp
#include <QFile>
#include <QTextStream>
#include <QStringList>
void deleteLine(QString filePath, int lineNumber) {
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QStringList lines;
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
lines.append(line);
}
file.close();
if (lineNumber < 0 || lineNumber >= lines.size())
return;
lines.removeAt(lineNumber);
if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text))
return;
QTextStream out(&file);
for (int i = 0; i < lines.size(); i++) {
out << lines.at(i) << endl;
}
file.close();
}
```
这个函数需要两个参数:文件路径和要删除的行号。请注意,行号从 0 开始。
使用方法如下:
```cpp
QString filePath = "your_file_path.txt";
int lineNumber = 2;
deleteLine(filePath, lineNumber);
```
这个例子会删除文件 "your_file_path.txt" 中的第三行。
阅读全文