首页 > 其他 > 详细

QT -- 文件操作 QFile

时间:2021-03-29 15:31:56      阅读:14      评论:0      收藏:0      [点我收藏+]

QFile简介

继承自QIODevice

QIODevice 类是 Qt 中所有 I/O 设备的基础接口类,为诸如 QFile、QBuffer 和 QTcpSocket 等支持读/写数据块的设备提供了一个抽象接口。。

QFile类提供一个用于读/写文件的接口,它是一个可以用来读写文本文件、二进制文件和Qt资源的 I/O 设备。

QFile可以单独使用,也可以和QTextStream 或者QDataStream 一起使用。

一个文件使用open()打开,使用close()关闭,使用flush()刷新。

示例代码:

 写入数据到txt文件

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::WriteOnly))//以写的方式打开文件,如果文件不存在则创建,
    qDebug()<<file.errorString();
 
QByteArray buf = "bbbbbbbbbbb";
file.write(buf);//写入文件,支持QByteArray和 char * 类型数据写入
 
file.close();//关闭文件

从txt文件中读取所有数据

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件
    qDebug()<<file.errorString();
 
QByteArray buf = file.readAll();//读取文件所有数据
qDebug()<<"buf: "<<buf;
 
file.close();//关闭文件

从txt文件中一行一行读取数据

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件
    qDebug()<<file.errorString();
 
while(file.atEnd() == false)//文件没到末尾就执行循环体内容
{
    QByteArray buf = file.readLine();//读取一行的数据
    qDebug()<<buf;
}
 
file.close();//关闭文件

部分函数参数及作用

文件的数据读/写一般使用QDataStream 或者 QTextStream 来完成,不过也可以使用继承自 QIODevice 类的一些函数,如:

技术分享图片

 

 

 

 

QT -- 文件操作 QFile

原文:https://www.cnblogs.com/zzzsj/p/14592224.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!