QT学习:读写二进制文件
生活随笔
收集整理的這篇文章主要介紹了
QT学习:读写二进制文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用QDataStream讀寫二進制文件。
具體用法見如下代碼:
(1)頭文件“mainwindow.h”的具體代碼如下:
(2)源文件“mainwindow.cpp”的具體代碼如下:
#include "mainwindow.h" #include <QtDebug> #include <QFile> #include <QDataStream> #include <QDate> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { fileFun(); }函數fileFun()完成主要功能,其具體代碼如下:
void MainWindow::fileFun() { /*將二進制數據寫到數據流 */ //每一個條目都以定義的二進制格式寫入文 件。Qt中的很多類型,包括QBrush、QColor、QDateTime、QFont、QPixmap、QString、QVariant等都可 以寫入數據流。QDataStream類寫入了name(QString)、birthday(QDate)和age(qint32)這三個數據。注意, 在讀取時也要使用相同的類型讀出。 QFile file("binary.dat"); file.open(QIODevice::WriteOnly | QIODevice::Truncate); QDataStream out(&file); //將數據序列化 out << QString(tr("周何駿:")); //字符串序列化 out << QDate::fromString("1996/09/25", "yyyy/MM/dd"); out << (qint32)23; //整數序列化 file.close(); /*從文件中讀取數據 */ //QDataStream類可以讀取任意的以 QIODevice為基類的類生成對象產生的數據,如QTcpSocket、QUdpSocket、QBuffer、QFile、QProcess等 類的數據。可以使用QDataStream在QAbstractSocket一端寫數據,在另一端使用QDataStream讀取數據, 這樣就免去了煩瑣的高低字節轉換工作 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(); }(3)運行結果如下圖所示:
總結
以上是生活随笔為你收集整理的QT学习:读写二进制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT学习:读写文本文件
- 下一篇: QT学习:获取文件详细信息