在使用Qt的QDataStream类进行文件的二进制处理时发现与c语言的标准IO有差异,下面用代码说明。
#include <QDataStream>
#include <QIODevice>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
int num = 0x12345678;
QFile file("data_qt.txt");
file.open(QIODevice::ReadWrite);
QDataStream in(&file);
qDebug() << "num_1 = " << num;
in << num;
file.seek(0);
in >> num;
qDebug() << "num_2 = " << num;
file.close();
return 0;
}
程序运行时输出:
num_1 = 305419896
num_2 = 305419896
使用Qt creator二进制打开data_qt.t