[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();
}
相关推荐
prettyxian1 小时前
【QT】Qt从零入门指南:创建你的第一个GUI程序
开发语言·qt
不会c嘎嘎2 小时前
QT中的常用控件(一)
开发语言·qt
枫叶丹45 小时前
【Qt开发】Qt系统(一)-> 定时器 QTimerEvent 和 QTimer
c语言·开发语言·数据库·c++·qt·系统架构
林政硕(Cohen0415)6 小时前
ARM Linux Qt Widget 虚拟键盘输入法移植
linux·arm开发·qt·键盘·输入法
养一回月亮!12 小时前
使用Qt实现简单绘图板:鼠标绘制与擦除功能详解
开发语言·qt
cpp_learners15 小时前
Qt Windows版本的《智能鼠标点击器》
windows·qt·鼠标点击器
Liu-Eleven18 小时前
Qt/C++开发嵌入式项目日志库选型
开发语言·c++·qt
FL162386312919 小时前
VTK源码编译时候选qt5路径
开发语言·qt
龚建波1 天前
《QDebug 2025年12月》
qt
特立独行的猫a1 天前
HarmonyOS鸿蒙PC开源QT软件移植:基于 Qt Widgets 的网络调试助手工具
qt·开源·harmonyos·鸿蒙pc