当前位置: 首页 > news >正文

qt学习:Qfile文件类

目录

功能 

读接口

参数说明

返回值

例子

写接口

参数说明

 QString转为QByteArray

其他接口


功能 

该类是一个用户读写文件io口,它继承于QFileDevice

读接口

  • qint64           read(char *data,qint64 maxSize)// 一次读取maxSize大小的数据存放在以data为首的内存地址上
  • QByteArray  read(qint64 maxSize)
  • QByteArray  readAII()--->一次性读取所有的数据

按行读取文件

  • qint64          readLine(char *data, qint64 maxSize)
  • QByteArray readLine(qint64 maxSize =0)

参数说明

  • char *data  --------存放读取出来数据的首地址
  • qint64 maxSize ------------读取的长度,如果不够,则按实际的来读取

返回值

  •  QByteArray   --------通常我们会将它自动转化QString
    • 转化方式   QString& operator=(const QByteArray &ba)

例子

QString data = file.readAll(); 

写接口

  • qint64         write(const char *data, qint64 maxSize)
  • qint64         write(const char *data)
  • qint64         write(const QByteArray &byteArray)

参数说明

  • const         char *data--------写入数据的首地址
  • qint64        maxSize--------写入的大小,如果不够,则按实际写入
  • const         QByteArray &byteArray--------写一个字节数组

 QString转为QByteArray

  • QByteArray toUtf8() const
    • 例子  content.toUtf8()
  • QByteArray QString::toLocal8Bit() const

其他接口

  •  创建对象,指定文件路径,构造函数
    • QFile(const QString &name,QObject *parent)
    • QFile(QObject *parent)
    • QFile(const QString &name)
    • 功能  该构造函数可以通过一个文件路径得到一个QFile对象
      • 例子  QFile file("./user.txt");
    • 如果在定义QFile对象时不指定路径,还可以通过接口指定一个文件路径
      • void setFileName(const QString &name)
  • 打开文件,并且指定打开的方式
    • bool QFile::open(QIODevice::OpenMode mode)
      • QIODevice::ReadOnly-----只读
      • QIODevice::WriteOnly-----只写
      • QIODevice::ReadWrite-----读写
      • QIODevice::Append-----以在文件末尾追加数据
      • QIODevice::Truncate-----将文件的长度截断为零,那么文件的数据为空
      • 注意:如果文件不存在时,想要创建文件,那么指定的方式要是WriteOnly or ReadWrite
        • 例子
          //2.打开文件,文件可写,如果文件不存在,则新建
          QFile file(CONFIGURE_FILE);
          if(!file.open(QIODevice::WriteOnly)return:

http://www.lryc.cn/news/284353.html

相关文章:

  • 从 GPT1 - GPT4 拆解
  • Python项目——计算器(PySide6+Pyinstaller)
  • ChatGPT 和文心一言哪个更好用?
  • 数据备份与恢复
  • 数据库原理及数据库的优化
  • C语言第三弹---数据类型和变量
  • [通知]rust跟我学:文件时间属性获得方法文章已上线
  • 基于嵌入式的智能智能通风系统
  • 如何编写一个好的测试用例?才能防止背黑锅
  • 笨蛋学设计模式行为型模式-观察者模式【14】
  • 上海智慧岛大数据云计算中心项目正式封顶!
  • 靶场实战(19):OSCP备考之VulnHub HA WORDY
  • 大模型学习与实践笔记(九)
  • fpga目前就业形势咋样?
  • Linux7 安装 Oracle 19C RAC 详细图文教程
  • 【SpringBoot】SpringBoot 项目初始化方法
  • 34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
  • Mysql深度分页优化的一个实践
  • 【JavaEE进阶】 SpringBoot配置⽂件
  • excel 常用函数
  • 【React基础】– JSX语法
  • SpringBoot 项目中后端实现跨域的5种方式!!!
  • Vue3前端开发,provide和enject的基础练习,跨层级传递数据
  • Python 循环结构值while循环
  • MSSQL-识别扩展extended event(扩展事件)中的时间单位
  • vue3中l和vue2中v-model不同点
  • 使用 Swift 代码优化项目编译速度
  • 基于springboot+vue的社区团购系统(前后端分离)
  • three.js从入门到精通系列教程002 - three.js正交相机OrthographicCamera
  • Golang 搭建 WebSocket 应用(七) - 性能、可用性