QT 文件操作 QFile
目录
QFile类介绍
写入数据到txt文件(实例代码)
从txt文件中读取所有数据(实例代码)
从txt文件中一行一行读取数据(实例代码)
部分函数参数及作用
QFile类介绍
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 类的一些函数,如:
QByteArray QIODevice::read(qint64 maxSize) |
从设备读取最多最大大小的字节,并返回数据重组 |
qint64 QIODevice::read(char *data, qint64 maxSize) |
从设备读取最多最大大小的字节的数据,并返回读取的字节数 |
qint64 QIODevice::readLine(char *data, qint64 maxSize) |
此函数从设备读取一行 ASCII 字符, 最大最大最大大小为-1 字节, 将字符存储在数据中, 并返回读取的字节数。如果无法读取行, 但没有错误, 则此函数返回0。如果发生错误, 此函数返回可以读取的内容的长度, 如果未读取任何内容, 则返回-1。 |
readAll() | 读取文件所有内容,读取之后将会处于文件的末尾 |
qint64 QIODevice::write(const char *data, qint64 maxSize) |
将数据从数据到设备的最大最大最大大小字节写入设备。返回实际写入的字节数, 如果发生错误, 则返回-1。 |
qint64 QIODevice::write(const char *data) |
将来自8位字符的零终止字符串的数据写入设备。返回实际写入的字节数, 如果发生错误, 则返回-1。 |
bool QIODevice::getChar(char *c) |
从设备读取一个字符, 并将其存储在 c 中。如果 c 为 0, 则该字符将被丢弃。成功时返回 true;否则返回 false。(一次只操作一个字符) |
将字符 c 写入设备。成功时返回 true;否则返回 false。(一次只操作一个字符) |
|
void QIODevice::ungetChar(char c) |
将字符 c 放回设备, 并减少当前位置, 除非位置为0。此函数通常被调用为 "撤消" getChar () 操作, 例如在编写回溯分析器时。 如果以前未从设备读取 c, 则该行为未定义。(一次只操作一个字符) |
获取文件的大小 | |
[virtual] bool QFileDevice::seek(qint64 pos) |
定位到文件的任意位置 |
[virtual] qint64 QFileDevice::pos() const |
获取当前的位置 |
[virtual] bool QFileDevice::atEnd() const |
判断是否到达了文件的末尾(如果已达到文件的末尾, 则返回 true。否则返回 false。) |
QT 文件操作 QFile相关推荐
- C/C++/Qt 文件操作 效率比较
C/C++/Qt 文件操作 & 效率比较 1 介绍 2 比较结果 2.1 Linux平台上运行程序普遍比Windows上快:Windows下VC编译的程序一般运行比MINGW(MINimal ...
- 【转】Qt之文件操作 QFile
转载:http://blog.csdn.net/liuhongwei123888/article/details/6084761 今天学习QT的文件操作 1.QIODevice 直接继承自QObjec ...
- Qt文件操作之文件读写
QFile类用于文件操作,它提供了读写文件的接口,可以读写文件.二进制文件和Qt资源文件. 处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类.处理临时文件可以使用Q ...
- 文件操作QFile和QDataStream
一.QFlie文件读写 #include<QFile> #include<QFileDialog>//文件对话框 1.读文件 1 QString path = QFileDia ...
- Qt QFile文件操作详解
Qt QFile文件操作详解 很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写.创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office.PDFedit 等 ...
- Qt QAxObject操作excel文件过程总结
最近由于需要Qt来操作Excel文件,所以想把QAxObject用起来,此次使用也是机缘巧合,记录了一下心路历程. 此前走了很多弯路,希望做同样事情的人就别纠缠于同样的错误就好. 配制方面: 1.确保 ...
- C++Qt开发——文件操作
简介 QT中的IO操作通过统一的接口简化了文件与外部设备的操作方式,QT中文件被当作一种特殊的外部设备,文件操作与外部设备操作相同.IO操作的本质是连续存储空间的数据读写. 1. IO设备的类型 顺序 ...
- Qt 文件和文件夹操作
Qt 文件和文件夹操作 复制文件 设置文件的访问权限 删除文件 删除单个文件 批量删除文件 示例 获取文件信息 批量修改文件名 写文本文件 读文本文件 压缩和解压缩文件 解压 压缩 XML 文件读写 ...
- qt上传文件到iis文件服务器,一篇文章快速搞懂Qt文件读写操作
导读:Qt当中使用QFile类对文件进行读写操作,对文本文件也可以与QTextStream一起使用,这样读写操作会更加简便.QFileInfo可以用来获取文件的信息.QDir可以用于对文件夹进行操作. ...
最新文章
- mysql 无法登陆_MySQL root用户无法登录原因及解决办法
- AI芯片的过去、现在与未来
- 红外发送管的角度特性测试
- HTTP和RPC的优缺点
- 解决GPU模型训练的随机性
- c语言指针实验报告总结,c语言指针实验报告
- 新疆出差——特色美食大合集
- python计算汉明距离_有效地使用python计算汉明距离
- “码农”被黑得最惨的一次,深夜下班被误认为小偷
- thinkphp v5.0.11漏洞_ThinkPHP 5.0.x-5.0.23、5.1.x、5.2.x 全版本远程代码执行漏洞分析
- 10套高质量Linux教程,放在百度网盘了
- 开源软件的版权与许可证
- linux修改中国时区
- 奇迹服务器gs无响应,奇迹服务端1.03K比较有特色的拓展GS
- oracle恢复误删字段,Oracle恢复被误删除存储过程的2种方法
- 几类常用Case工具介绍
- 互斥事件的概念和公式_互斥事件
- 传智播客成都java培训中心7月8号基础班开班啦
- 关于华为云的域名认证问题
- 前端-表格英文单词不换行问题
热门文章
- 风控并行组合模型及其额度定价场景实践
- 集合论编程练习 | C++ | 离散数学
- Python输出字典的键和值
- 【AI名利场·人物】蜜枣网创始人赵小蒙:不惑之年的“大龄梦想者”
- 【QML】分享一个纯QML实现的2048小游戏
- 何恺明团队12页论文新作剑指AIGC!“新CLIP”只需一个trick,训练速度快3.7倍!性能不降反升...
- CLIP-Chinese:中文多模态对比学习预训练模型
- (个人搬运 “请认真看完帖子“ )职教星2.8.2可用
- Python爬取股票信息,并实现可视化数据
- 斐波那契数列c语言实现 每行五个输出