首页 > 其他分享 >Qt 读写文件操作

Qt 读写文件操作

时间:2023-10-18 15:33:08浏览次数:34  
标签:文件 Qt filePath 读写 file include QFile

一、 Qt 中的读文本的内容

1. 以 QTextStream 流的形式来读取文件中的内容。

#include <QFile>
#include <QTextStream>
#include <QDebug>

void ReadData(QString filePath)
{
    QFile file(filePath);

    if(!file.exists())
    {
        qDebug() << "can't find the file";
        return;
    }

    if(!file.open(QIODevice::ReadOnly))
    {
        qDebug() << "can't open the file.";
        return;
    }

    QTextStream stream(&file);
    QString resStr = stream.readAll(); //读取文件中的所有内容

    file.close();
}

2. 向文件中写入数据

void WriteData(QString filePath)
{
    QFile file(filePath);

    if(!file.exists())
    {
        qDebug() << "can't find the file:" << filePath;

    }

    // 当为 QIODevice::ReadWrite 或 QIODevice::ReadOnly 时,如果该目录下不存在对应的文件,就会自动创建该文件,
    // 但是如果没有对应的目录,则不会创建相应的目录和文件,而是直接打开失败。
    if(!file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append))
    {
        qDebug() << "Open file error";
        return;
    }

    QTextStream stream(&file);
    QString str1 = "only for read test.";
    QString str2 = "中文测试数据\n";

    stream << str1 << str2;

    file.flush();
    file.close();

}

标签:文件,Qt,filePath,读写,file,include,QFile
From: https://www.cnblogs.com/Jeffxu/p/17772495.html

相关文章

  • QT 禁止QLineEdit输入空格、空值
    QRegExprx("[^\\s]+$");QRegExpValidator*validator=newQRegExpValidator(rx,this);ui->lineedit->setValidator(validator);正则表达式参考链接:https://blog.csdn.net/Hyc_cheng/article/details/112132963......
  • 第四章 文件权限的笔记完善
    第四章 文件权限的相应内容笔记整理1.基本权限UGO使用ll命令来查看文件权限r:read(读取)数字设定为4w: write  (写入)数字设定为2x: execute(执行)数字设定为1owner的权限为“rw”,数字表示6group的权限为“r”,数字表示为4other的权限为“r--",数字表示为4 2.设置......
  • Qt 文件目录操作 QDir、QFile、QTemporaryDir/File、QTextStream、QDataStream、QSett
    摘要:  这一篇Qt博文主要介绍在Qt开发中对于文件目录操作相关处理的时候可以用到哪些类,这些类的作用是什么,大致应该怎么用,类的常用类方法及相关需要注意的事项等等,更加细致的需根据类名查找翻阅官方帮助文档。  QT提供的与文件和目录操作相关的类有以下几个:QDir:类提供对......
  • arm平台上安装qt
    如下图步骤选择源代码包(以5.12.12为例)可以复制链接地址在迅雷上创建下载任务,下载速度会快些qt的编译与安装需要先安装gcc与cmake解压安装包将文件放置到文件夹下,解压(例如解压到/usr/local/qt)tarxvfqt-everywhere-src-5.12.12.tar.xz-C/usr/local/qt/解压安装包Qt依赖于一......
  • Qt/C/C++ 项目工程架构搭建设计经验
    摘要  独立负责一个Qt项目和经过前辈的教导后的一些架构搭建感悟,其中的各种理念对其他语言开发的项目也能有一定的互通,能带来更舒适的开发体验,谨代表个人开发的经验之谈,有需要的小伙伴酌情获取,辩证思考。也欢迎小伙伴们在评论区纠错补充。  关键词:C/C++、Qt、搭建框架、更......
  • 多线程编程同步:读写锁
    读写锁的定义互斥锁锁住后,保证仅有一个线程处理数据(多线程共享的)。要是数据的读取比写入更频繁,且读取操作不涉及共享变量的修改,应允许多个线程读取操作对共享变量的读取。直接使用互斥锁效率太低,若使用读写锁,可以大大提高效率。读写锁的分配规则:1)只要没有线程持有某个特定的读......
  • csproj文件
    参考Reference引用某个程序集PackageReference引用某个NuGet包ProjectReference引用某个项目Compile常规的C#编译None没啥特别的编译选项,就为了执行一些通用的操作(或者是只是为了在VisualStudio列表中能够有一个显示)Folder一个空的文件夹,也没啥用(不过标了这......
  • 小景的Dba之路--Oracle用exp导出dmp文件很慢
    小景最近在系统压测相关的工作,其中涉及了Oracle数据库相关的知识,之前考的OCP证书也在此地起了作用。今天的问题是:Oracle用exp导出dmp文件很慢,究竟是什么原因,具体的解决方案都有哪些呢? 下面我逐一来说下,首先列举了一些常见的原因:1.数据量大:如果你要导出的数据库包含大量数据,导......
  • centOs 6.10 编译 qt 5.15.11.
    centOs6.10编译qt5.15.11安装依赖库xcb依赖库qtxcb需要的依赖如何要用x11,就要在编译的时候加上-xcb选项,就要安装xcb相关的库。到时可以在config.log文件查看,缺少哪个库就安装哪个。下面是我手动安装的库和对应版本:xcb-proto-1.14.tar.gzxcb-util-image-0.......
  • 新手教程系列:如何还原群晖 Synology NAS 意外删除或丢失的文件?
    有多种工具可恢复从群晖SynologyNAS意外删除的数据。首先建议为每个共享文件夹启用回收站选项。还有其他备份解决方案或第三方软件可用于替代回收站或与回收站结合使用。本文将指导您完成在群晖DSM上启用回收站,并向您介绍一些备选选项,以帮助您恢复已删除的文件。使用回收站......