qfile获取文件第一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qfile获取文件第一行相关的知识,希望对你有一定的参考价值。
表 5 QDataStream常用方法成员方法 功 能
bool QDataStream::atEnd() const 判断是否读到文件末尾,如果已经达到末尾,返回 true,否则返回 false。
QDataStream &QDataStream::readBytes(char *&s, uint &l) 对于用 writeBytes() 方法写入文件的 l 和 s,只能使用 readBytes() 方法读取出来。
int QDataStream::readRawData(char *s, int len) 从文件中读取最多 len 字节的数据到 s 中,返回值表示实际读取的字节数。注意,调用该方法之前,需要先给 s 参数分配好内存空间。
void QDataStream::setVersion(int v) 不同版本的 Qt 中,同名称的数据类型也可能存在差异,通过调用此方法手动指定版本号,可以确保读取数据的一致性。
int QDataStream::skipRawData(int len) 跳过文件中的 len 个字节,返回实际跳过的字节数。
QDataStream &QDataStream::writeBytes(const char *s, uint len) 将长度 len 和 s 一起写入到文件中,对于 writeBytes() 写入的数据,只能用 readBytes() 方法读取。
int QDataStream::writeRawData(const char *s, int len) 将 s 中前 len 字节的数据写入文件,返回值表示成功写入的字节数。
QDataStream 类也对<<和>>进行了重载,举个简单的例子,用 QDataStream 重新实现实例二:
#include <QFile>
#include <QDebug>
#include <QDataStream>
int main(int argc, char *argv[])
//指定要写入文件的数据
qint32 nums[5]=1,2,3,4,5;
QFile file("D:/demo.dat");
file.open(QIODevice::WriteOnly);
//创建 QDataStream 对象
QDataStream out(&file);
//将 nums 数组中的整数逐个写入到二进制文件中
for(int i=0;i<5;i++)
out << nums[i];
file.close();
//再次打开文件,读取文件中存储的二进制数据
file.open(QIODevice::ReadOnly);
QDataStream in(&file);
//读取二进制文件中的数据
while(!in.atEnd())
//每次读取一个整数
qint32 num;
in >> num;
qDebug() << num;
return 0;
参考技术A 很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写、创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office、PDFedit 等。为此,Qt 框架提供了 QFile 类专门用来操作文件。
QFile文件操作
QFile 类支持对文件进行读取、写入、删除、重命名、拷贝等操作,它既可以操作文件文件,也可以操作二进制文件。
使用 QFile 类操作文件之前,程序中需引入<QFile>头文件。创建 QFile 类的对象,常用的构造函数有:
QFile::QFile()
QFile::QFile(const QString &name)
参数 name 用来指定要操作的目标文件,包含文件的存储路径和文件名,存储路径可以使用绝对路径(比如 "D:/Demo/test.txt")或者相对路径(
以上是关于qfile获取文件第一行的主要内容,如果未能解决你的问题,请参考以下文章