qt对txt实现对某一行数据的删除操作,并保存删除后的数据于当前文本
时间: 2024-02-29 22:51:07 浏览: 272
QT 程序 删除文本文件中某一行
5星 · 资源好评率100%
可以通过以下步骤实现:
1. 打开要操作的文本文件,读取其中的数据。
2. 找到需要删除的行,可以通过遍历每一行数据来查找。可以使用 QTextStream 类实现对文本数据的读写和操作。
3. 将删除后的数据保存到当前文本文件中,可以使用 QFile 类实现对文件的读写和操作。
下面是一个简单的示例代码,实现了删除指定行数据并保存到原始文本文件中的功能:
```
#include <QFile>
#include <QTextStream>
void deleteLine(QString filename, int lineNum)
{
QFile file(filename);
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
return;
QTextStream in(&file);
QString line;
int count = 0;
while (!in.atEnd()) {
line = in.readLine();
count++;
if (count == lineNum) {
// 删除指定行
continue;
}
// 写入剩余数据
QTextStream out(&file);
out << line << "\n";
}
file.resize(file.pos()); // 删除多余数据
file.close();
}
```
其中,`filename` 是要操作的文本文件名,`lineNum` 是需要删除的行号。在函数中,首先打开要操作的文件,然后遍历每一行数据,找到需要删除的行,将其从写入的数据中删除,然后将剩余数据写入到文件中,最后关闭文件。需要注意的是,文件操作完成后需要调用 `file.resize()` 方法删除多余数据。
阅读全文