不二如是 发表于 2016-11-7 09:54:59

153-使用数据流读/写二进制数据-【扫盲】

本帖最后由 不二如是 于 2016-11-7 09:56 编辑



QDataStream类实现了将QIODevice的二进制数据串行化。

一个数据流就是一个二进制编码信息流!

完全独立于主机的操作系统、CPU、字节顺序哈。

QDataStream类可以实现C++基本数据类型的串行化,如:

char、char*、short、int。

点我带你去看全部支持列表哈☜~

而串行化更复杂的数据,就是通过将数据分解为基本的数据类型来完成的~

看例子哈~


[*]将二进制写入到数据流

[*]创建QFile

    QFile file("file.dat");
    file.open(QIODevice::WriteOnly);


[*]将串行化后的数据输入到file

QDataStream out(&file);


[*]串行化字符串

    out<<QString("结果是:");


[*]串行化整数
out<<(qint32)33;



[*]从数据流读取二进制数据


[*]创建QFile
    QFile filee("file.dat");
    filee.open(QIODevice::ReadOnly);


[*]从file中读取串行化的数据

QDataStream in(&file);
    QString string;
    qint32 b;


[*]提取‘结果是:’和 33

in >> string >>b;





页: [1]
查看完整版本: 153-使用数据流读/写二进制数据-【扫盲】