Qt5开发及实例学习之读写二进制文件

#include "mainwindow.h"
#include <QtDebug>
#include <QFile>
#include <QDataStream>
#include <QDate>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    fileFun();
}

MainWindow::~MainWindow()
{

}

void MainWindow::fileFun()
{
    //将二进制数据写到数据流。每个条目都以二进制格式写入文件
    //注意,读取的时候也要使用相同的类型读出
    QFile file("binary.dat");
    file.open(QIODevice::WriteOnly | QIODevice::Truncate);
    QDataStream out(&file);                             //将数据序列化
    out << QString(tr("周何骏:"));                      //字符串序列化
    out << QDate::fromString("1994/09/25", "yyyy/MM/dd");
    out << (qint32)19;                                 	//整数序列化
    file.close();

    //从文件种读取数据
    file.setFileName("binary.dat");
    if(!file.open(QIODevice::ReadOnly))
    {
         qDebug()<< "error!";
         return;
    }
    QDataStream in(&file);                            	//从文件中读出数据
    QString name;
    QDate birthday;
    qint32 age;
    in >> name >> birthday >> age;                    	//获取字符串和整数
    qDebug() << name << birthday << age;
    file.close();
}

相关文章
相关标签/搜索