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

news2024/11/23 8:30:28

在很多时候我们需要读写文本文件进行读写,比如写个 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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1148177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[2021]不确定成本下的处理分配

英文题目:Treatment Allocation under Uncertain Costs 中文题目:不确定成本下的处理分配 单位:swager、uber 时间:2021 论文链接:https://arxiv.org/pdf/2103.11066.pdf 代码: 摘要: 我…

一个基于Excel模板快速生成Excel文档的小工具

介绍 DocumentGenerator是一个Excel快速生成工具,目标以后还能实现Word、pdf等的文件的生成。该程序独立运行,可通过HTTP接口调用其生成接口。 典型使用场景为如下: 使用者编写模板文件使用者准备模板文件的填充JSON数据内容使用者通过网络…

STM32:串口轮询模式、中断模式、DMA模式和接收不定长数据

一.串口轮询模式底层机制: 在STM32每个串口的内部都有两个寄存器:发送数据寄存器(TDR)/发送移位寄存器,当我们调用HAL_UART_Transmit 把数据发送出去时,CPU会将数据依次将数据发送到数据寄存器中,移位寄存器中的数据会根据我们设置…

leetcode做题笔记206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3: 输入&am…

k8s replicaSet,deployment 学习笔记

文章目录 replicaSet 和 deployment 两者的关系。创建滚动更新回滚 replicaSet 和 deployment 两者的关系。 在 Kubernetes 中,ReplicaSet 和 Deployment 都是用来确保某种 Pod 的副本数目。但是,ReplicaSet 和 Deployment 是有差别的,二者的…

【送书福利-第二十二期】《Vue.js 3企业级项目开发实战(微课视频版)》

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文…

电路器件认识与KV STUDIO的实践(二)

当当当当,下班了,下面来记录一下小编学习到的电气知识与plc的应用吧!!! 目录 电路元器件的认识 断路器(作用是过载保护、短路保护、地线故障保护和手动控制) 漏电断路器(当漏电电…

H5游戏源码分享-考眼力游戏猜猜金币在哪

H5游戏源码分享-考眼力游戏猜猜金币在哪 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><meta charset"UTF-8"><meta name"apple-mobile-web-app-capa…

vue3后台管理系统之跨域代理

vite.config.js中 server: {port: 5002,host: true, //0.0.0.0open: false,strictPort: true,proxy: {// 请求前缀/api&#xff0c;只有加了/api前缀的请求才会走代理(前端自定义)/api: {target: http://127.0.0.1:8000,// 获取服务器地址的设置changeOrigin: true,// 路径重写…

LeetCode热题100 240.搜索二维矩阵||

题目描述&#xff1a; 编写一个高效的算法来搜索 m*n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,2…

java项目之时间管理系统(ssm框架)

项目简介 时间管理系统实现了以下功能&#xff1a; 管理员&#xff1a;个人中心、用户管理、分类列表管理、在线学习管理、励志视频管理、活动项目管理、活动报名管理、目标制定管理、论坛管理、系统管理。用户&#xff1a;注册、个人中心、活动报名管理、目标制定管理、我的…

SonarLint安装与简介

简介&#xff1a; SonarLint 是SonarQube官方推出的可以在idea 静态扫描插件&#xff0c;可以同步sonarqube的规则&#xff0c;在开发编译的时候发现问题&#xff0c;可以有效减少在流水线扫描返工的次数 安装 idea 选择setttings &#xff0c;搜索sonarlint插件&#xff0c…

“第五十四天” 溢出判断,标志位 ,有问题

之前说过在运算的时候可能发生溢出&#xff0c;这种情况只会出现在 正正相加 &#xff0c;负负相加 的时候才会出现前者是上溢&#xff0c;正正加得负&#xff0c;后者是下溢&#xff0c;负负加得正。&#xff08;减法变成加法&#xff0c;再看&#xff09; 加减运算&溢出…

【Luckfox pico入门记录(二)】ubuntu22.04系统烧录

写在前面 最近在看智能手表的选型&#xff0c;但是作为一个小白的我&#xff0c;发现要么核心板太大了&#xff0c;不适合作为手表(大多数核心板的面积都在4*4以上&#xff0c;而且很少带有WIFI芯片&#xff0c;即使带有WIFI芯片也不是PCB天线而是那种立着的天线。而Luckfox因为…

考点之数据结构

概论 时间复杂度和空间复杂度是计算机科学中用来评估算法性能的重要指标。 时间复杂度&#xff1a; 时间复杂度衡量的是算法运行所需的时间。它表示算法执行所需的基本操作数量随着输入大小的增长而变化的趋势。 求法&#xff1a; 通常通过分析算法中基本操作执行的次数来…

简单方法搭建个人网站

随着互联网的发展&#xff0c;越来越多的人希望拥有一个属于自己的网站&#xff0c;用来展示自己的个人才华、推广自己的产品或服务。但是&#xff0c;很多人都因为没有编程知识而望而却步。现在&#xff0c;有一个简单的方法可以帮助你轻松搭建网站&#xff0c;无需编程知识。…

并发编程

什么是并发编程&#xff1f; 并行&#xff1a;在同一个时间节点上&#xff0c;多个线程同时执行(是真正意义上的同时执行) 并发&#xff1a;一个时间段内&#xff0c;多个线程依次执行。 并发编程&#xff1a;在例如买票、抢购、秒杀等等场景下&#xff0c;有大量的请求访问…

「常识」浮点数和定点数

浮点数和定点数 本篇文章旨在简短的介绍浮点数、定点数的定义&#xff0c;以及一些常见的数制、补码。 一、常识 如果缺少以下常识的话&#xff0c;将很难理解浮点数和定点数的概念。 1、数 自然数整数/分数小数&#xff1a;有限小数、无限循环小数、无限不循环小数实数&a…

独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

本专栏内容均为博主独家全网首发,未经授权,任何形式的复制、转载、洗稿或传播行为均属违法侵权行为,一经发现将采取法律手段维护合法权益。我们对所有未经授权传播行为保留追究责任的权利。请尊重原创,支持创作者的努力,共同维护网络知识产权。 文章目录 网络结构实验结果…

97. 交错字符串

题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 解题思路&#xff1a;动态规划。 如果s1.length()s2.length ! s3.length()&#xff0c;直接返回false&#xff0c;否则使用动态规划求解。定义状态&#xff1a;dp[i][i]&#xff…