Qt-5开发及实例-第9章-Qt-5文件及磁盘处理课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Qt-5开发及实例-第9章-Qt-5文件及磁盘处理课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Qt 开发 实例 文件 磁盘 处理 课件
- 资源描述:
-
1、第第9章章 Qt 5文件及磁盘处理文件及磁盘处理读写文本文件读写文本文件0101使用使用QFile类读写文本类读写文本使用使用QFile类读写文本类读写文本【例】【例】(简单)(CH901)建立基于控制台工程,使用QFile类读写文本文件。实现步骤如下。(1)建立一个工程。选择“文件”“新建文件或项目.”菜单项,在弹出的对话框中选择“项目”组下的“Application”“Qt Console Application”选项,单击“Choose.”按钮。(2)在弹出的对话框中对该工程进行命名并选择保存工程的路径,这里将工程命名为“TextFile”,单击“下一步”按钮,再次单击“下一步”按钮,最
2、后单击“完成”按钮,完成该文件工程的建立。使用使用QFile类读写文本类读写文本(3)源文件“main.cpp”的具体实现代码如下:#include#include#include int main(int argc,char*argv)QCoreApplication a(argc,argv);QFile file(textFile1.txt);/(a)if(file.open(QIODevice:ReadOnly)/(b)char buffer2048;qint64 lineLen=file.readLine(buffer,sizeof(buffer);/(c)if(lineLen!=-1
3、)/(d)qDebug()buffer;return a.exec();使用使用QFile类读写文本类读写文本其中,其中,(a)QFile file(textFile1.txt):打开一个文件有两种方式。一种方式是在构造函数中指定文件名;另一种方式是使用setFileName()函数设置文件名。(b)if(file.open(QIODevice:ReadOnly):打开文件使用open()函数,关闭文件使用close()函数。此处的open()函数以只读方式打开文件,只读方式参数为QIODevice:ReadOnly,只写方式参数为QIODevice:WriteOnly,读写参数为QIODev
4、ice:ReadWrite。(c)qint64 lineLen=file.readLine(buffer,sizeof(buffer):在QFile中可以使用从QIODevice中继承的readLine()函数读取文本文件的一行。(d)if(lineLen!=-1)qDebug()buffer;:如果读取成功,则readLine()函数返回实际读取的字节数;如果读取失败,则返回“-1”。使用使用QFile类读写文本类读写文本(4)选择“构建”“构建项目 TextFile”菜单项,首先编辑本例所用的文本文件“textFile1.txt”,保存在项目D:QtCH9CH901build-TextFi
5、le-Desktop_Qt_5_11_1_MinGW_32bit-Debug目录下,然后运行程序,运行结果如图9.1所示。0202使用使用QTextStream类读写文本类读写文本使用使用QTextStream类读写文本类读写文本【例】【例】(简单)(CH902)建立基于控制台的工程,使用QTextStream类读写文本文件。操作步骤与上节的实例类似,不再重复介绍。(1)源文件“main.cpp”的具体实现代码如下:#include#include#include int main(int argc,char*argv)QCoreApplication a(argc,argv);QFile d
6、ata(data.txt);if(data.open(QFile:WriteOnly|QFile:Truncate)/(a)QTextStream out(&data);outQObject:tr(score:)qSetFieldWidth(10)left90 endl;/(b)return a.exec();使用使用QTextStream类读写文本类读写文本其中,其中,(a)if(data.open(QFile:WriteOnly|QFile:Truncate):参数QFile:Truncate表示将原来文件中的内容清空。输出时将格式设为左对齐,占10个字符位置。(b)outQObject:
7、tr(score:)qSetFieldWidth(10)left90endl:用户使用格式化函数和流操作符设置需要的输出格式。其中,qSetFieldWidth()函数是设置字段宽度的格式化函数。除此之外,QTextStream还提供了其他一些格式化函数,见表9.1。函 数功 能 描 述qSetFieldWidth(int width)设置字段宽度qSetPadChar(QChar ch)设置填充字符qSetRealNumberPercision(int precision)设置实数精度使用使用QTextStream类读写文本类读写文本其中,其中,left操作符是QTextStream定义的类
8、似于中的流操作符。QTextStream还提供了其他一些流操作符,见表9.2。操 作 符作 用 描 述bin设置读写的整数为二进制数oct设置读写的整数为八进制数dec设置读写的整数为十进制数hex设置读写的整数为十六进制数showbase强制显示进制前缀,如十六进制(0 x)、八进制(0)、二进制(0b)forcesign强制显示符号(+,-)forcepoint强制显示小数点noshowbase不显示进制前缀noforcesign不显示符号uppercasebase显示大写的进制前缀lowercasebase显示小写的进制前缀uppercasedigits用大写字母表示lowercased
9、igits用小写字母表示fixed用固定小数点表示scientific用科学计数法表示left左对齐right右对齐center居中endl换行flush清除缓冲使用使用QTextStream类读写文本类读写文本(2)运行此程序后,可以看到在项目的D:QtCH9CH902build-TextFile2-Desktop_Qt_5_11_1_MinGW_32bit-Debug文件夹下自动建立了一个文本文件“data.txt”,打开后看到的内容如图9.2所示。第第9章章 Qt 5文件及磁盘处理文件及磁盘处理读写二进制文件读写二进制文件读写二进制文件读写二进制文件【例】【例】(简单)(CH903)使用
10、QDataStream读写二进制文件。(1)头文件“mainwindow.h”的具体代码如下:#include class MainWindow:public QMainWindow Q_OBJECTpublic:MainWindow(QWidget*parent=0);MainWindow();void fileFun();读写二进制文件读写二进制文件(2)源文件“mainwindow.cpp”的具体代码如下:#include mainwindow.h#include#include#include#include MainWindow:MainWindow(QWidget*parent):
11、QMainWindow(parent)fileFun();读写二进制文件读写二进制文件函数fileFun()完成主要功能,其具体代码如下:void MainWindow:fileFun()/*将二进制数据写到数据流*/(a)QFile file(binary.dat);file.open(QIODevice:WriteOnly|QIODevice:Truncate);QDataStream out(&file);/将数据序列化 out QString(tr(周何骏:);/字符串序列化 out QDate:fromString(1996/09/25,yyyy/MM/dd);out (qint32
12、)23;/整数序列化 file.close();/*从文件中读取数据*/(b)file.setFileName(binary.dat);if(!file.open(QIODevice:ReadOnly)qDebug()name birthday age;/获取字符串和整数 qDebug()name birthday age;file.close();读写二进制文件读写二进制文件其中,其中,(a)从从QFile file(binary.dat)到到file.close()之间的代码段:之间的代码段:每一个条目都以定义的二进制格式写入文件。Qt中的很多类型,包括QBrush、QColor、QDat
展开阅读全文