文章目录
QT的QDataStream:适用于二进制流的文件读取/写入操作,一起来学习吧。
QDataStream的例子
一、QDataStream构造函数
QDataStream()
构造没有I/O设备的数据流
QDataStream(QIODevice * d)
使用d这个IO设备构造数据流
QDataStream(QByteArray * a, QIODevice::OpenMode mode)
构造对字节数组a进行操作的数据流,mode描述如何使用设备。最好用来只写数据流
QDataStream(const QByteArray & a)
构造一个对字节数组a进行操作的只读数据流
二、Public Types
1. 读/写的字节顺序:ByteOrder
名称 | 值 | 说明 |
---|---|---|
QDataStream::BigEndian | QSysInfo::BigEndian | 最高有效字节优先(默认值) |
QDataStream::LittleEndian | QSysInfo::LittleEndian | 最低有效字节优先 |
2. 浮点数的精度:FloatingPointPrecision
名称 | 值 | 说明 |
---|---|---|
QDataStream::SinglePrecision | 0 | 数据流中的所有浮点数都具有32位精度 |
QDataStream::DoublePrecision | 1 | 数据流中的所有浮点数都具有64位精度 |
3. 流的状态:Status
名称 | 值 | 说明 |
---|---|---|
QDataStream::Ok | 0 | 数据流运行正常。 |
QDataStream::ReadPastEnd | 1 | 数据流读取的数据已超过底层设备中数据的结尾。 |
QDataStream::ReadCorruptData | 2 | 数据流已读取损坏的数据。 |
QDataStream::WriteFailed | 3 | 数据流不能写入底层设备 |
4. 序列化格式版本号:Version
名称 | 值 | 说明 |
---|---|---|
QDataStream::Qt_1_0 | 1 | Version 1 (Qt 1.x) |
QDataStream::Qt_2_0 | 2 | Version 2 (Qt 2.0) |
QDataStream::Qt_2_1 | 3 | Version 3 (Qt 2.1, 2.2, 2.3) |
QDataStream::Qt_3_0 | 4 | Version 4 (Qt 3.0) |
QDataStream::Qt_3_1 | 5< |