[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();
}
相关推荐
肥or胖11 小时前
【FFmpeg 快速入门】本地播放器 项目
开发语言·qt·ffmpeg·音视频
小灰灰搞电子17 小时前
Qt Quick 粒子系统详解
开发语言·qt
暴躁茹19 小时前
Qt 将触摸事件转换为鼠标事件(Qt4和Qt5及以上版本)
开发语言·qt·计算机外设
大专生学编程21 小时前
QT简介和QT环境搭建
c++·qt
feiyangqingyun21 小时前
Qt/C++开发监控GB28181系统/视频点播没有ssrc问题的处理/兼容各种设备和应用场景需求
c++·qt·gb28181
小堃学编程1 天前
QT跨平台应用程序开发框架(10)—— Qt窗口
开发语言·qt
轩宇^_^1 天前
Qt CMake 学习文档
数据库·qt·学习
小徐不徐说1 天前
QT技巧之快速搭建串口收发平台
开发语言·c++·qt·串口·软件构建·个人开发·通信
天堂陌客1 天前
QT 交叉编译环境下,嵌入式设备显示字体大小和QT Creator 桌面显示不一致问题解决
开发语言·qt·字库
小堃学编程2 天前
QT跨平台应用程序开发框架(9)—— 容器类控件
开发语言·qt