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

基于Qt 文本读写(QFile/QTextStream/QDataStream)实现

在很多时候我们需要读写文本文件进行读写,比如写个 Mp3 音乐播放器需要读 Mp3 歌词里的文本,比如修改了一个 txt 文件后保存,就需要对这个文件进行读写操作。本章介绍简单的文本文件读写,内容精简,让大家了解文本读写的基本操作。

## QFile 读写文本

QFile 类提供了读取和写入文件的接口。在嵌入式里如果需要读写文件,最简单的方法就是用 QFile, QFile 来读写 Linux 下的字符设备(可把字符设备当作一个文本处理,linux 下一切皆文件),虽然只是写‘0’或‘1’,但也是对文件(文本)的读写了。QFile 是一个读写文本、二进制文件和资源的 I/O 设备。QFile 可以自己使用,也可以更方便地与 QTextStream 或 QDataStream 一起使用。

文件名通常在构造函数中传递,但它可以在任何时候使用 setFileName()设置。不支持使用其他分隔符(例如'\')。所以在 Windows、 Linux 或者 Mac 里文件的路径都是用'/'。不能看到Windows 的路径是'\',我们就可以在写入的文件路径里添加这个'\'。不管操作系统是什么,QFile的文件分隔符都是'/'。

可以使用 exists()检查文件是否存在,并使用 remove()删除文件。(更高级的文件系统相关操作由 QFileInfo 和 QDir 

相关文章:

  • LeetCode题:88合并两个有序数组,283移动零,448找到所有数组中消失的数字
  • volatile 系列之如何解决可见性问题
  • 【C++代码】爬楼梯,不同路径,整数拆分,不同搜索树,动态规划--代码随想录
  • QT C++ AES字符串加密实现
  • 设计模式中继承和组合的总结
  • MyString字符串类
  • TOGAF(企业架构)
  • VSCode snippets
  • Android11系统桌面隐藏指定APP图标
  • nginx请求时找路径问题
  • NetSuite数据备份办法
  • Day 11 python学习笔记
  • Linux系统下配置王爽汇编语言环境
  • SQL注入原理及思路(mysql)
  • 【ChatGPT系列】ChatGPT:创新工具还是失业威胁?
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • AHK 中 = 和 == 等比较运算符的用法
  • Apache的基本使用
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Java深入 - 深入理解Java集合
  • Logstash 参考指南(目录)
  • PHP那些事儿
  • 大整数乘法-表格法
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 收藏好这篇,别再只说“数据劫持”了
  • 跳前端坑前,先看看这个!!
  • 推荐一个React的管理后台框架
  • 微信小程序设置上一页数据
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 鱼骨图 - 如何绘制?
  • scrapy中间件源码分析及常用中间件大全
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​什么是bug?bug的源头在哪里?
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Panda3d 碰撞检测系统介绍
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • $().each和$.each的区别
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (BFS)hdoj2377-Bus Pass
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (转)Oracle存储过程编写经验和优化措施
  • (转)visual stdio 书签功能介绍
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET 5种线程安全集合
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .Net Core和.Net Standard直观理解
  • .NET 反射的使用
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET连接数据库方式
  • /bin/bash^M: bad interpreter: No such file or directory
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @RequestBody与@ResponseBody的使用
  • [20181219]script使用小技巧.txt