注意:
1、QDataStream 、QTextStream 二者区别:
(1)QTextStream 类:用于对数据进行文本格式的读/写操作,可在 QString、QIODevice或 QByteArray 上运行,比如把数据输出到 QString、QIODevice 或 QByteArray 对象上,或进行相反的操作。
(2)QDataStream 类:用于对数据进行二进制格式的读/写操作,QDataStream 只可在QIODevice 或 QByteArray 上运行,因为 QString 只存放字符数据。
2、 QIODevice 类是 Qt 中所有 I/O 设备的基础接口类(这是一个抽象类),也就是说 QIODevice
及其子类描述的是 I/O 设备,该类为支持读/写数据块的设备提供了通用实现和抽象接口,
比如 QFile、 QBuffer、 QTcpSocket 等。
3、 QIODevice 把设备分为两类:随机存储设备和顺序存储设备
①、随机存储设备:可定位到任意位置(使用 seek()函数),随机存储设备有 QFile,
QTemporaryFile, QBuffer;
②、顺序存储设备:不支持任意的位置存储,顺序存储设备有 QProcess、 QTcpSocket、
QUdpSocket 和 QSslSocket;
篇一:
QDataStream类实现将QIODevice的二进制数据串行化。一个数据流就是一个二进制编码信息流,独立于主机的操作系统,CPU或字节顺序。QDataStream可以实现c++的基本数据类型的串行化。
构造函数:
常用属性和方法:
setDevice()
: 设置 QDataStream 的设备,可以是 QFile、QIODevice 等。setVersion()
: 设置 QDataStream 的数据版本。setFloatingPointPrecision()
: 设置浮点数的精度。readRawData()/writeRawData()/
: 读/写入原始数据。