62- 读写文件详解

一 读写文本文件(QFile 类)

  1. Qt 开发中的 QFile 类支持对文件进行读取、写入、删除、复制
    重命名等相关操作,它既可以操作文本文件,也可以操作二进制文件。
#include <QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//1.创建QFile对象,指定相关操作文件QFile qfs("d:/qfiletext.txt");//绝对路径//2:打开文件进行写操作 ReadOnly ReadWrite Append Truncateif(!qfs.open(QIODevice::WriteOnly | QIODevice::Text)){qDebug()<< "打开文件失败,请重新检查?";}else{qDebug()<<"恭喜你,打开文件成功!";}// 3:向打开的文件写数据信息qfs.write("零声教育--\n");qfs.write("Qt开发工程师课程\n");qfs.write("腾讯课堂:C/C++后台开发银牌机构");// 4:关闭文件qfs.close();// 读取文件数据// 读取文件数据if(!qfs.open(QIODevice::ReadOnly|QIODevice::Text)){qDebug()<<"打开文件失败,请生重新检查?";}else{qDebug()<<"恭喜你,打开文件成功(读取数据)!";}// 定义字符指针char *pStr=new char[200];qint64 rcount=qfs.readLine(pStr,200);while((rcount!=0) && (rcount!=-1)){qDebug()<<pStr;rcount=qfs.readLine(pStr,200);}return a.exec();
}

二、读写二进制文件/(QDataStream 类)

#include <QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 将qnumber里面的数据写入到文件qint32 qnumber[3]={1,2,3};//将qnumber数据以二进制方式存储到字节数组当中QByteArray bytearray;bytearray.resize(sizeof(qnumber));for(int i=0;i<3;i++){// for循环利用指针将每个整数复制到字符数组里面去//void *memcpy(void *str1, const void *str2, size_t n)//C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。memcpy(bytearray.data()+i*sizeof(qint32),&(qnumber[i]),sizeof(qint32));}// 将bytearray字节数组存储至对应文件当中QFileBinaryByte.datQFile qfs("d:/QFileBinaryByte.dat");//绝对路径if(!qfs.open(QIODevice::WriteOnly)){qDebug()<<"打开文件失败,请重新检查?";}else{qDebug()<<"恭喜你,打开文件成功!";}qfs.write(bytearray);//写入文件qfs.close();//关闭文件// 先打开,再读取qfs.open(QIODevice::ReadOnly);QByteArray byteArry=qfs.readAll();// 输出读取的二进制数据qDebug()<<"byteArry:"<<byteArry;// 将二进制数据转化为整数char *ctemp=byteArry.data();while(*ctemp){qDebug()<<*(qint32*)ctemp;ctemp=ctemp+sizeof (qint32);}qfs.close();return a.exec();
}

三 QTextStream Class 

#include <QCoreApplication>
#include <QFile>
#include <QtDebug>
#include <QTextStream>
#include <QDataStream>
#include <QString>
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 写入数据到文件QFile qfs("d:/qtextstreamfile.txt");if(!qfs.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug()<<"打开文件失败,请重新检查?";}else{qDebug()<<"恭喜你,打开文件成功!";}QTextStream qtextstreamwrite(&qfs);// 向文件写入数据qtextstreamwrite<<(QString)"零声教育-Qt开发工程师课程";qfs.close();// 从文件读取数据if(!qfs.open(QIODevice::ReadOnly|QIODevice::Text)){qDebug()<<"打开文件失败,请重新检查?";}else{qDebug()<<"恭喜你,打开文件成功(读取数据......)!";}QTextStream qtextstreamread(&qfs);while(!qtextstreamread.atEnd()){QString strtemp;qtextstreamread>>strtemp;qDebug()<<strtemp;}qfs.close();return a.exec();
}

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

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

相关文章

Java 18新特性全览:探索Java世界的最新进化!

随着技术的不断演进&#xff0c;Java作为历史悠久的编程语言&#xff0c;始终保持着其时代的前沿性。Java 18的发布&#xff0c;又一次展示了这门语言的强大生命力和不断创新的能力。在本文中&#xff0c;我们将深入探讨Java 18带来的那些令人兴奋的新特性&#xff0c;助你领略…

HTML+CSS 交互式开关按钮

效果演示 实现了一个交互式开关按钮的效果,包括一个标签和两个选项(Yes和No),当用户点击其中一个选项时,按钮会发生动画效果,同时选中的选项会被高亮显示。整个按钮的样式采用了渐变背景色、圆角边框、阴影等元素,使得按钮看起来更加美观。 Code HTML <!DOCTYPE ht…

下拉框数据被遮挡 且 后续数据无法下拉的 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法3.1 添加空白版2.2 调整z-index2.3 父容器的溢出属性2.4 调整样式属性4. 效果图前言 小程序使用的是Uniapp,原理都差不多,索性标题就不标注Uniapp(小程序) 对于该问题调试了一个晚上,最终解决,对此记录下来 1. 问题所示 执…

JVM常用概念之线程本地分配缓冲区(ThreadLocal Allocation Buffer,TLAB)

当实例化一个Java类时&#xff0c;运行时环境必须为相关实例分配存储空间&#xff0c;在JRE中此存储空间分配操作是由内存管理器实现的&#xff08;其实是JVM的垃圾回收器&#xff09;&#xff0c;由于内存管理器通常使用与运行时目标语言不同的语言编写&#xff08;例如&#…

图片转pdf在线网站,图片转pdf在线网址,工具软件

在现代办公和学习环境中&#xff0c;图片转PDF的操作已变得日益重要。无论是为了存档、分享还是打印&#xff0c;将图片转换为PDF格式都能带来诸多便利。本文将详细介绍几种常用的图片转PDF方法。 打开 “轻云pdf处理官网” &#xff0c;上传图片。 图片上传完成后&#xff0…

AI学习指南机器学习篇-决策树在python中的实现

AI学习指南机器学习篇-决策树在Python中的实现 机器学习是人工智能领域中的重要分支&#xff0c;它涉及许多复杂的概念和技术。在机器学习的算法中&#xff0c;决策树是一种常用的监督学习方法&#xff0c;它可以帮助我们预测未来事件的发生或者分类数据。本篇文章将介绍如何使…

springCloudAlibaba之分布式事务组件---seata

Seata Sea学习分布式事务Seata二阶段提交协议AT模式TCC模式 Seata服务搭建 Sea学习 事务&#xff1a;事务是访问数据库并更新数据库中各项数据的一个程序执行单元。在关系数据库中&#xff0c;一个事务由一组或多组SQL语句组成。事务应该具有4个属性&#xff1a;原子性、一致性…

C语言——预编译处理

一、头文件处理 1)头文件#ifndef/define/endif关键字用法 #ifndef/define/endif 主要用于防止同一头文件被多次引用,避免重复定义同一个变量或函数。当一个头文件被多个源文件引用时,可以使用#ifndef/define/endif 结构确保其中的代码只会被编译一次,避免出现重定义的错误…

LabVIEW轴承试验机测控系统

开发了一种基于LabVIEW软件开发的大功率风电机组增速箱轴承试验机测控系统。系统主要用于模拟实际工况&#xff0c;进行轴承可靠性分析&#xff0c;以优化风电机组的性能和可靠性。通过高度自动化的测控系统&#xff0c;实现了对试验机的精确控制&#xff0c;包括速度、振动、温…

Unity 笔试题分享

1. 请回答以下代码片段执行时是否会产生堆内存分配 a. void SetChar(string s){s.Replace(b, d);}b. void Update(Transform t){t.localPosition new Vector3(0, 0, 0);}c、 int Sum(List<int> l){int total 0;foreach (int i in l){total i;} return total;}d…

金融数据中心能力建设指引

金融数据中心能力建设指引 金融数据中心能力建设指引旨在通过高标准的基础设施建设、完善的数据管理、强大的信息安全防护和业务连续性规划&#xff0c;确保数据中心具备高效、安全、可靠的运行能力&#xff0c;支持金融业务的稳定发展。该指引强调技术创新、标准化管理、人才…

大数据湖一体化运营管理建设方案(49页PPT)

方案介绍&#xff1a; 本大数据湖一体化运营管理建设方案通过构建统一存储、高效处理、智能分析和安全管控的大数据湖平台&#xff0c;实现了企业数据的集中管理、快速处理和智能分析。该方案具有可扩展性、高性能、智能化、安全性和易用性等特点&#xff0c;能够为企业数字化…

ios 获取图片的一部分区域

可以使用如下的代码&#xff1a; // get part of the image - (UIImage *)getPartOfImage:(UIImage *)img rect:(CGRect)partRect {CGImageRef imageRef img.CGImage;CGImageRef imagePartRef CGImageCreateWithImageInRect(imageRef, partRect);UIImage *retImg [UIImage i…

Linux基础操作命令

Linux简介 Linux系统的基本思&#xff1a;一切都是文件&#xff0c;每个文件都有确定的用途。系统中的所有都归结为一个文件&#xff0c;包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言&#xff0c;都被视为拥有各自特性或类型的文件。至于说Linux是基于U…

设计方案总结

2G 内存在 20 亿个整数中找出现次数最多的数 案例分析&#xff1a; 整数占用 4个字节。整数的范围是 -21亿 ~ 21亿。kv 对需要 8个字节&#xff0c;k 存储整数&#xff0c;v 存储出现次数。存储 20亿个整数需要 16G内存。 数据存储使用散列表。分治&#xff1a; 要将一个大文件…

最新大屏幕互动系统PHP源码 附动态背景图和配乐素材 含搭建教程

简介&#xff1a; 最新大屏幕互动系统PHP源码 附动态背景图和配乐素材 含搭建教程 测试环境&#xff1a;NginxPHP7.0MySQL5.6 ![CYA]CPZMY8NK8YADA.png](https://img-blog.csdnimg.cn/img_convert/1e38b378e1aa6e834f56ec9a83df064c.png)

Django学习(1)Model

模型 1、Django操作指令 2、Django模型字段类型 3、Django模型字段类型属性 4、Django模型Meta属性

力扣1170.比较字符串最小字母出现频次

力扣1170.比较字符串最小字母出现频次 f()是找最小字母的次数 即cnt中第一个出现过的字母 将word中所有字符串都处理存入nums nums排序 再做二分 class Solution {public:int f(string s){int cnt[26] {0};for(char c:s)cnt[c - a] ;for(int i0;i<26;i) cout<<cn…

计算机组成原理-常见计算题含IEE754

一、补码加减运算 二、溢出判断 采用一位符号位 采用双符号位 三、定点数的移位运算 算术右移 算数左移 反码的算术移位 补码的算术移位 四、浮点数的表示 一个右规的例子 五、IEEE754 移码

读AI未来进行式笔记09职业再造

1. 职业再造 1.1. 着AI向越来越多的行业稳步进军&#xff0c;越来越多的人逐渐被AI技术取代&#xff0c;那么人类接下来所能从事的工作是什么&#xff1f; 1.2. 缺乏专业指导&#xff0c;许多人被发展迅猛的AI替代&#xff0c;连续挫败导致自杀率居高不下 1.2.1. 除了经济收…