赞
踩
QDataStream 提供了基于 QIODevice 的二进制数据的序列化。数据流是一种二进 制流,这种流完全不依赖于底层操作系统、CPU 或者字节顺序(大端或小端)。由于数据流就是二进制 流,因此我们也可以直接读写没有编码的二进制数据,例如图像、视频、音频等。 QDataStream 既能够存取 C++ 基本类型,如 int、char、short 等,也可以存 取复杂的数据类型,例如自定义的类。实际上,QDataStream 对于类的存储,是 将复杂的类分割为很多基本单元实现的。
1,写二进制文件:
QString path = QFileDialog::getSaveFileName(this,"open","./","source(*.cpp)"); if(path.isEmpty() == false){ QFile file(path); if(file.open(QIODevice::WriteOnly) == true) { /*常见数据流和file文件关联 * 往数据流输入数据=往文件里面写数据 */ QDataStream stream(&file); stream << QString("测试") << 250; file.close(); } }
注:创建数据量对象的时候绑定输入输出驱动后,向数据流里面写数据,相当于往驱动绑定的文件里面写数据。和标准C++里面的输入输出流一样,<<
表示数据的流向。
2,读二进制文件
QString path = QFileDialog::getOpenFileName(this,"open","./","source(*.cpp)");
if(path.isEmpty() == false)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。