[Qt] Qt删除文本文件中的某一行

需求

我们经常读一个文件或者直接往一个空白文件中写文本,那么该如何使用Qt在一个文本文件中删除某一行

代码

cpp 复制代码
#include <QCoreApplication>
#include <QIODevice>
#include <QFile>
#include <QTextStream>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile file(QStringLiteral("F:/QTCode/deleteLineInFile/新建文本文档.txt"));
    QString allText;
    if(file.open(QIODevice::ReadWrite)){
        QTextStream stream(&file);
        stream.setCodec("UTF-8");
        while(!stream.atEnd()){
            QString lineStr = stream.readLine();
            if(lineStr == QStringLiteral("也是")){
                continue;
            }
            allText.append(lineStr);
            if(!stream.atEnd()){
                allText.append('\r');
                allText.append('\n');
            }
        }
        file.close();
        if(file.open(QIODevice::WriteOnly | QIODevice::Truncate)){
            file.write(allText.toUtf8());
            file.close();
            qDebug() << QStringLiteral("操作成功");
        }else{
            qDebug() << QStringLiteral("写文件失败");
        }
    }else{
        qDebug() << QStringLiteral("打开文件失败");
    }
    return a.exec();
}
相关推荐
Y1rong1 小时前
C++ QT之记事本
开发语言·qt
IOT-Power5 小时前
QT 串口 源码结构框架
qt
世转神风-10 小时前
winDbg专有名词解释
qt·windbg
2401_8534482313 小时前
项目图片功能制作
linux·数据库·qt·系统移植
深蓝海拓14 小时前
QT中具有重载特性的一些部件
python·qt·pyqt
yangops14 小时前
QT Creator解决: C3861: “_mm_loadu_si64”: 找不到标识符
qt·_mm_loadu_si64·c3861
火山灿火山15 小时前
Qt常用控件(四)
开发语言·qt
蓝天智能17 小时前
Qt实战:Unix_Linux下QTableView Checkbox不显示?问题排查+样式定制全攻略
linux·qt·unix
蓝天智能17 小时前
QT实战:设置按钮背景图标的几种方式及分析
开发语言·qt
小c君tt18 小时前
FFmpeg音视频-库使用2
qt·ffmpeg·音视频