スポンサーリンク
ホーム»Qt逆引きマニュアル»ファイル操作» Qt:バイナリデータの書き込みと読み取り

Qt:バイナリデータの書き込みと読み取り

当サイトは、アフィリエイト広告を利用しています

環境:QT5.5

リンク
http://doc.qt.io/qt-5/qbytearray.html
http://doc.qt.io/qt-5/qfile.html
http://doc.qt.io/qt-5/qdatastream.html

インクルードファイル

1
2
3
#include <QByteArray>
#include <QFile>
#include <QDataStream>

バイナリデータをファイルへ書き込み

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
    // QByteArray data1;
    // QByteArray data2;
    // QByteArray data3;
    // quint32 qint
 
    // ファイルオープン
    QFile fp(filepath);
    if (!fp.open(QIODevice::WriteOnly | QIODevice::Append)) {
        qCritical().noquote() << "Can't Open File." << filepath << endl;
        return false;
    }
    QDataStream out(&fp);
 
    // ファイルへ書き込み
    out << qint << data1 << data2 << data3 ;
 
    fp.close();

バイナリデータをファイルから読み取り

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
    // QByteArray data1;
    // QByteArray data2;
    // QByteArray data3;
    // quint32 qint
 
    // ファイルオープン
    QFile fp(filepath);
    if (!fp.open(QIODevice::ReadOnly)) {
        qCritical().noquote() << "Can't Open File." << filepath << endl;
        return false;
    }
    QDataStream in(&fp);
 
    // ファイルからデータを読み込み
    // 書き込んだ順番に読み取る
    while(!in.atEnd()) {
        in >> qint >> data1 >> data2 >> data3 ;
    }
    fp.close();

コメント

タイトルとURLをコピーしました