QT的文件操作类 QFile

QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文 件。

QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。

主要功能

  • 文件读写: QFile 支持打开文件进行读取或写入操作
  • 文件信息:可以检索有关文件的信息,如大小、修改日期等
  • 文件操作:提供了对文件进行重命名、移动、删除等操作的能力 
  • 错误处理: QFile 在操作文件时提供了错误处理机制,可以通过相应的函数检查和获取错误信息。

常用方法: 

  • open() :打开一个文件。需要指定模式(如只读、只写、读写等)
  • close() :关闭文件
  • read() 和 write() :用于读取和写入数据
  • exists() :检查文件是否存在
  • remove() :删除文件
  • copy() :复制文件。 

读取文件 

void Widget::on_btnread_clicked()
{
    //1.打开文件
    QFile file("C:\\Users\\30624\\Desktop\\zhuochong\\notebook\\test.txt");
    if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){
        qDebug()<<"file open error!";
    }


    //或者使用无参构造 QFile file;file.setFileName("readme.txt");
    //2.读取文件
    int size = file.size();
    char* context = new char(size);//根据文件长度读取文件
    //qint64 read(char *data, qint64 maxlen);
    if(file.read(context,100)==-1){
        return;
    }
    //3.输出文件内容
    qDebug()<<context;
    //关闭文件
    file.close();
}

选择上下文相关帮助可以查看函数返回值,形参等帮助信息 

写入文件

void Widget::on_btnwrite_clicked()
{
    //1.打开
    QFile file("C:\\Users\\30624\\Desktop\\zhuochong\\notebook\\test.txt");
    file.open(QIODevice::Append | QIODevice::Text);
    //2.写入
    file.write("ihihihihihihihihihihihi");
    //3.关闭
    file.close();

}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SCI论文快速排版:word模板一键复制样式和格式【重制版】

关注B站可以观看更多实战教学视频&#xff1a;hallo128的个人空间SCI论文快速排版&#xff1a;word模板一键复制样式和格式&#xff1a;视频操作视频重置版2【推荐】 SCI论文快速排版&#xff1a;word模板一键复制样式和格式【重制版】 模板与普通文档的区别 为了让读者更好地…

VHDL基本结构和逻辑示例

VHDL基本结构和逻辑示例 1.VHDL的基本结构 VHDL的基本结构包含了三段&#xff1a; -- library and package -- entity -- architecturelibrary and package&#xff1a;相关库和软件包&#xff08;相当与c语言的头文件&#xff09; entity&#xff1a;实体&#xff08;描述输…

redis IO多路复用机制

目录 一、五种 I/O 模型 1.阻塞IO&#xff08;Blocking IO&#xff09; 2.非阻塞IO&#xff08;Nonblocking IO&#xff09; 3.IO多路复用&#xff08;IO Multiplexing&#xff09; 通知的方式 select模式 poll模式 epoll模式 4.信号驱动IO&#xff08;Signal Driven …

QT 实现按钮多样化

1.界面实现效果 以下是具体的项目需要用到的效果展示&#xff0c;可以根据需要&#xff0c;实例化想要的按钮。 2.简介 原理&#xff1a;使用Qt的QPropertyAnimation动画类&#xff0c;这里简单来说就是切换两个按钮样式。 请看以下结构体&#xff1a; #define MAX_LINE_C…

系统架构设计师⑧:软件工程-软件开发方法与模型

系统架构设计师⑧&#xff1a;软件工程-软件开发方法与模型 软件开发方法 常用的软件开发方法主要分为3类&#xff1a; 结构化法&#xff08;比如C语言开发-面向过程&#xff09;&#xff0c; 面向对象法&#xff08;比如C或者JAVA开发-面向对象&#xff09;&#xff0c; 面向…

Nodejs和C#使用ECDH算法交换秘钥

转载于&#xff1a;https://bkssl.com/document/nodejs-csharp-ecdh.html nodejs的ECDH算法在进行computeSecret的时候不会自动进行HASH运算&#xff0c;但C#的ECDH算法必须指定HASH算法。 两边算法必须使用相同的椭圆曲线和Hash算法&#xff0c;例如下面用例都是用的SHA256。…

Matlab|用于平抑可再生能源功率波动的储能电站建模及评价

目录 主要内容 模型研究 1.目标函数 2.约束条件 部分代码 结果一览 1.储能平抑风电功率 2.储能平抑风电和光伏功率 下载链接 主要内容 程序参考文献《用于平抑可再生能源功率波动的储能电站建模及评价》&#xff0c;针对风电和光伏分布式能源出力波动的问…

题目:连续子序列

解题思路&#xff1a; 首先&#xff0c;不能使用暴力枚举&#xff0c;时间为O(n2)&#xff0c;超时。以下为正确做法&#xff1a; 假设找到一段区间&#xff08;其和>m&#xff09;&#xff0c;如上图黄色部分&#xff0c;那么该区间加上i后面的元素形成的新区间和都>m&a…

opencv学习:CascadeClassifier和detectMultiScale算法进行人脸识别

CascadeClassifier CascadeClassifier 是 OpenCV 提供的一个用于对象检测的类&#xff0c;它基于Haar特征和AdaBoost算法。它能够识别图像中的特定对象&#xff0c;比如人脸、眼睛、微笑等。CascadeClassifier 需要一个预训练的XML分类器文件&#xff0c;该文件包含了用于检测…

CodeActAgent :Executable Code Actions Elicit Better LLM Agents解读

论文地址 https://arxiv.org/pdf/2402.01030.pdf 项目地址 https://github.com/svjack/CodeActAgent-Gradio/blob/main/README.md 代码智能体的优势 选择代码智能体有以下几个关键原因&#xff0c;它们相较于使用类似JSON的字典输出具有显著优势&#xff1a; 1. 代码的高…

Spring Boot 应用开发:入门与实战

Spring Boot 应用开发&#xff1a;入门与实战 引言 Spring Boot 是 Spring 框架的一个子项目&#xff0c;旨在简化 Spring 应用的配置和开发。它通过自动配置和嵌入式服务器&#xff0c;极大地简化了 Java 企业级应用的开发。本文将详细介绍 Spring Boot 的核心概念&#xff…

【SPIE独立出版】第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024,2024年11月15-17日 )

第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024) The 4th International Conference on Computer Technology, Information Engineering and Electron Materials 会议官网&#xff1a;www.ctieem.org The 4th International Conference on Computer Technology,…

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type 环境 python 3.10.15pillow 10.4.0 paddleocr 2.8.1错误详情 错误文本 Traceback (most recent call last):....draw_left.polygon(box, fillcolor)ValueError: inco…

浏览器内置文字转语音,播报功能Web Speech API - SpeechSynthesisUtterance

SpeechSynthesisUtterance: 让网页说话的艺术 在现代Web开发中&#xff0c;让网页具有语音功能可以极大提升用户体验&#xff0c;特别是对于视障用户或需要多任务处理的场景。SpeechSynthesisUtterance 是 Web Speech API 中的一个接口&#xff0c;它允许开发者创建一个语音合…

穷举vs暴搜vs深搜vs回溯vs剪枝(一)

文章目录 全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合 全排列 题目&#xff1a;全排列 思路 通过深度优先搜索的方式&#xff0c;不断枚举每个数在当前位置的可能性&#xff0c;然后回溯到上一个状态&#xff0c;直到枚举完所有可能性得到正确的结果 r…

SDK5(note上)

以下代码实现菜单窗口和快捷键的ctrlo打开的操作 #include <windows.h> #include<tchar.h> #include <stdio.h> #include <strsafe.h> #include <string> #define IDM_OPEN 102 /*鼠标消息 * 键盘消息 * Onkeydown * Onkeyup * //键盘扫描码 * …

力扣hot100--二叉树

目录 二叉树 1. 94. 二叉树的中序遍历 2. 98. 验证二叉搜索树 3. 101. 对称二叉树 4.102. 二叉树的层序遍历 5. 104. 二叉树的最大深度 6. 105. 从前序与中序遍历序列构造二叉树 7. 114. 二叉树展开为链表 8. 226. 翻转二叉树 9. 236. 二叉树的最近公共祖先 二叉树 …

操作符详解(C 语言)

目录 一、操作符的分类二、算数操作符1. 除法操作符2. 取余操作符 三、位移操作符1. 进制2. 原码、反码和补码3. 左移操作符&#xff08;<<&#xff09;和右移操作符&#xff08;>>&#xff09; 四、位操作符1. 按位与 &2. 按位或 |3. 按位异或 ^4. 按位取反 ~…

大衍数列——考研408考试科目之数据算法——未来之窗学习通

一、大衍数列 中国古代文献中&#xff0c;曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是&#xff1a;0、2、4、8、12、18、24、32、40、50 … 其规律是&#xff1a;对偶数项&#xff0c;是序号平方再除2&#xff0c;奇数项&#xff0c;是…

有源滤波器(三)

这个连接方法很可以&#xff0c;正好解决了最近没有转接器的问题&#xff1a;