[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();
}
相关推荐
颜*鸣&空1 天前
QT实现串口通信+VSPD+串口调试工具
开发语言·qt
颜*鸣&空1 天前
QT程序实现串口通信案例
开发语言·qt
Main. 241 天前
从0到1学习Qt -- 常见控件之显示类控件
qt·学习
qq_401700412 天前
Qt中事件循环与并发机制的协同工作
qt
qq_401700413 天前
Qt Positioning 模块访问设备地理位置信息
开发语言·qt
闫有尽意无琼3 天前
银河麒麟v11 arm编译Qt creator8.0.2报错
开发语言·qt
lqj_本人3 天前
鸿蒙Qt触控疑云:事件传递丢失与坐标偏移修复
qt·华为·harmonyos
_OP_CHEN3 天前
从零开始的Qt开发指南:(五)Qt 常用控件之 QWidget(上):解锁 Qt 界面开发的核心基石
开发语言·c++·qt·前端开发·qwidget·gui开发·qt常用控件
happyjoey2173 天前
使用Qt自带的Maintenance Tool将Qt6.9升级为QT6.10
开发语言·qt
lqj_本人3 天前
鸿蒙Qt生命周期:后台被杀后的数据自救
qt·华为·harmonyos