QDataStream

QDataStream クラスはバイナリデータを QIODevice クラスで扱える形に変換します。
データストリームはシステム、CPU、バイトオーダーに依存しない情報にエンコードされたバイナリストリームです。

コンストラクタ

QDataStream::QDataStream()
IOデバイスが設定されていないデータストリームを生成します。

QDataStream::QDataStream(QIODevice * d)
指定したIOデバイスを使用するデータストリームを生成します。

QDataStream::QDataStream(QByteArray * a, QIODevice::OpenMode mode)
指定したバイト配列を扱う(読み込み/書き込み)データストリームを生成します。
パラメータ
キー 説明
QIODevice::NotOpen 0x0000 デバイスは開かれません。
QIODevice::ReadOnly 0x0001 デバイスを読み込みをするために開きます。Truncate モードであることを意味します。
QIODevice::WriteOnly 0x0002 デバイスを書き込みをするために開きます。
QIODevice::ReadWrite ReadOnly|WriteOnly デバイスは読み込み及び書き込みするために開きます。
QIODevice::Append 0x0004 デバイスを追記モードで開きます。書き込むデータは末尾に追記されます。
QIODevice::Truncate 0x0008 可能であれば開いたときよりデバイスは短縮されます。以前のデータはすべて失われます。
QIODevice::Text 0x0008 読み込む際、行の終端文字は\nに変換されます。書き込む際は行末の終端文字は環境によって変わります。Windows環境では\r\nです。
|QIODevice::Unbuffered|0x0020|デバイスのいかなるバッファーも無視します。

QDataStream::QDataStream(const QByteArray & a)
指定したバイト配列を扱う(読み込み)データストリームを生成します。

デストラクタ

QDataStream::~QDataStream()

読み書き

bool QDataStream::atEnd() const
IOデバイスが終端位置(ストリームやファイルの終端)に到達した場合か、またはIOデバイスが設定されていない場合はtrue、そうでない場合はfalseを返します。

ByteOrder QDataStream::byteOrder() const
現在のバイトオーダーを返します。
キー 説明
QDataStream::BigEndian QSysInfo::BigEndian ビッグエンディアン (デフォルト)
QDataStream::LittleEndian QSysInfo::LittleEndian リトルエンディアン

void QDataStream::setByteOrder(ByteOrder bo)
シリアル化する際のバイトオーダーを設定します。

QIODevice * QDataStream::device() const
このオブジェクトに設定されているデバイスを返します。
デバイスが設定されていない場合は0を返します。

void QDataStream::setDevice(QIODevice * d)
このオブジェクトにデバイスを設定します。
デバイスを設定しない場合は0を設定します。

FloatingPointPrecision QDataStream::floatingPointPrecision() const
データストリームの浮動小数点の精度を返します。
キー 説明
QDataStream::SinglePrecision|0|データストリームのすべての浮動小数は32bit精度を持ちます。 |
QDataStream::DoublePrecision|1|データストリームのすべての浮動小数は64bit精度を持ちます。 |

void QDataStream::setFloatingPointPrecision(FloatingPointPrecision precision)
このデータストリームの浮動小数点の精度を設定します。

QDataStream & QDataStream::readBytes(char *& s, uint & l)
データストリームから指定した長さをバッファーへ読み込み、データストリームへの参照を返します。
パラメータ
  • s 読み込んだデータを格納する変数
  • l 長さ

int QDataStream::readRawData(char * s, int len)
データストリームから最大で指定したバイト数分をバッファーへ読み込み、読み込んだバイト数を返します。
エラーが発生した場合は0を返します。
パラメータ
  • s 読み込んだデータを格納する変数。予めメモリを確保しておく必要があります。
  • l 読み込む最大のバイト数

int QDataStream::version() const
このデータストリームのバージョンを返します。
バージョン
Qt 5.2 15
Qt 5.1 14
Qt 5.0 13
Qt 4.6 12
Qt 4.5 11
Qt 4.4 10
Qt 4.3 9
Qt 4.2 8
Qt 4.0, 4.1 7
Qt 3.3 6
Qt 3.1, 3.2 5
Qt 3.0 4
Qt 2.1, 2.2, 2.3 3
Qt 2.0 2
Qt 1.x 1

void QDataStream::setVersion(int v)
このデータストリームのバージョンを設定します。

Status QDataStream::status() const
データストリームの状態を返します。
キー 説明
QDataStream::Ok 0 データストリームの操作は正常です。
QDataStream::ReadPastEnd 1 データストリームは終端を越えてデータを読み込みました。
QDataStream::ReadCorruptData 2 データストリームは破損のしたデータを読み込みました。
QDataStream::WriteFailed 3 データストリームは設定されているデバイスへ書き込むことができません。

void QDataStream::resetStatus()
データストリームの状態を初期化します。

void QDataStream::setStatus(Status status)
データストリームの状態を設定します。
一度呼んだら、resetStatus() を呼ぶまでこの関数をまた呼んでも無視されます。

int QDataStream::skipRawData(int len)
デバイスから指定したバイト分スキップし、実際にスキップしたバイト数を返します。
失敗した場合は-1を返します。
これは readRawData() で指定したバイト読み込み、読み込んだバッファーを無視した場合と同じです。

QDataStream & QDataStream::writeBytes(const char * s, uint len)
バッファーから指定した長さ分をデータストリームに書き込みます。

int QDataStream::writeRawData(const char * s, int len)
バッファーから指定したバイト数をデータストリームに書き込み、実際に書き込んだバイト数を返します。
失敗した場合は-1を返します。

QDataStream で読み込める型

  • qint8
  • quint8
  • qint16
  • quint16
  • qint32
  • quint32
  • qint64
  • quint64
  • float
  • double
  • char *& s
  • bool

QDataStream で書き込める型

  • qint8
  • quint8
  • qint16
  • quint16
  • qint32
  • quint32
  • qint64
  • quint64
  • float
  • double
  • const char *
  • bool

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2014年08月25日 21:22