6.5 QDataStream串行化数据流处理
QDataStream类提供了串行化处理数据流的方法。数据流是一个编码信息的二进制流,它与主机的操作系统、CPU或字节顺序100%的没有关系。QTextStream和QDataStream都是面向数据流的,QTextStream可以完成的功能QDataStream都能完成,但是他们的侧重点不同。QTextStream是针对文本流的处理,QTextStream中存放的都是用来阅读的普通文本数据,QTextStream的局限性主要是支持输入的数据类型较少,比如:像素图QPixmap、颜色QColor这些类型的数据就无法保存。 在实际的软件中很多情况下都会用到二进制数据,比如:保存当前软件的配置信息,状态信息,网络数据包传输等。这些二进制数据的处理,就需要使用QDataStream实现。QDataStream可以将所有的 C++ 基本类型,包括QT自己封装的类型,按顺序分解成基本类型进行封装。
6.5.1 串行化存放数据示例
#include <QApplication>
#include <QSaveFile>
#include <QDebug>
#include <QDateTime>
#include <QFile>
#include <QDataStream>
#include <QTextStream>
#include <QObject>
#include <QTextEdit>
int main(int argc, char *argv[])
{