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();
}

相關文章
相關標籤/搜索