Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWbostream

バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.

## RWbostream

| RWvostream RWios RWvios
RWbostream |
| ios

### 形式

      #include <rw/bstream.h>
      // cout の streambuf を使用して RWbostream を作成する
      RWbostream bstr(cout);

### 説明

  クラス RWbostream は抽象基底クラス RWvostream を特殊化したクラスで、バイナリ形式で変数を格納します。結果は、対応する RWbistream を使用して復元することができます。

  このクラスはまた、対応する streambuf のバイナリ形式の表現とも考えられます。RWbostream には対応する streambuf の状態についての情報が保存されないので、ostream や ofstream といった streambuf を使う他のストリームと自由切り換えて利用できます。

  変数は空白で区切ってはなりません。空白を入れるとそのまま解釈され、文字列として復元されることになります。

  メンバー関数 `good()`、`bad()`、`eof()` などを使用して、RWbostream にストリームの状態を問い合わせることができます。

### 持続性

  なし

### 例

      #include <rw/bstream.h>
      #include <fstream.h>
      main()
      {
        ofstream fstr("data.dat");    // 出力ファイルをオープンする
        RWbostream bstr(fstr);        // 出力ファイルから RWbostream を作成する
        int i = 5;
        float f = 22.1;
        double d = -0.05;

        bstr << i;                    // バイナリ形式で int を格納する
        bstr << f << d;               // float と double を格納する

  ファイル `"data.dat`" を読み取る方法については RWbistream の例を参照してください。

### 公開コンストラクタ

      RWbostream(streambuf* s);

    `streambuf s` から `RWbostream` を作成します。DOS の場合、この streambuf はバイナリモードで開かなければなりません。

      RWbostream(ostream& str);

    出力ストリーム `str` に対応した `streambuf` から RWbostream を作成します。DOS の場合、この `streambuf` はバイナリモードで開かなければなりません。このためには、ofstream のコンストラクタへの第 2 引数の一部に `ios::binary` を指定します。上記の例では、ofstream を作成する行を `ofstream fstr("data.dat",ios::in | ios::binary);` とします。"`|`" はビット毎の論理和演算子を意味します。

### 公開デストラクタ

      virtual ~RWvostream();

    この仮想デストラクタを使用すると、特殊化したクラスが、割り当てた資源を解放することができます。

### 公開メンバー演算子

      virtual RWvostream&
      operator<<(const char* s);

    クラス RWvostream から再定義した関数。`s` で始まる文字列をバイナリ形式で出力ストリームに格納します。文字列は、ヌル文字で終わるものとみなされます。

      virtual RWvostream&
      operator<<(const wchar_t* ws);

    クラス RWvostream から再定義した関数。`ws` で始まるワイド文字列をバイナリ形式で出力ストリームに格納します。ワイド文字列は、ワイドヌル文字で終わるものとみなされます。

      virtual RWvostream&
      operator<<(char c);

    クラス RWvostream から再定義した関数。`char` `c` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(wchar_t wc);

    クラス RWvostream から再定義した関数。ワイド `char` `wc` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(unsigned char c);

    クラス RWvostream から再定義した関数。`unsigned` `char` `c` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(double d);

    クラス RWvostream から再定義した関数。`double` `d` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(float f);

    クラス RWvostream から再定義した関数。`float` `f` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(int i);

    クラス RWvostream から再定義した関数。`ini` `i` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(unsigned int i);

    クラス RWvostream から再定義した関数。`unsigned` `int` `i` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(unsigned long l);

    クラス RWvostream から再定義した関数。`long` `l` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(unsigned long l);

    クラス RWvostream から再定義した関数。 `unsigned` `long` `l` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(short s);

    クラス RWvostream から再定義した関数。`short` `s` をバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      operator<<(unsigned short s);

    クラス RWvostream から再定義した関数。`unsigned` `short` `s` をバイナリ形式で出力ストリームに格納します。

      operator void*();

    RWvios から RWvostream 経由で継承した関数。

### 公開メンバー関数

      virtual RWvostream&
      flush();

    ストリームバッファの内容をただちに出力へ送ります。

      virtual RWvostream&
      put(char c);

    クラス RWvostream から再定義した関数。`char` `c` を出力ストリームに格納します。

      virtual RWvostream&
      put(wchar_t wc);

    クラス RWvostream から再定義した関数。ワイド `char` `wc` を出力ストリームに格納します。

      virtual RWvostream&
      put(unsigned char c);

    クラス RWvostream から再定義した関数。`unsigned` `char` `c` を出力ストリームに格納します。

      virtual RWvostream&
      put(const char* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `char` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const wchar_t* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まるワイド `char` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const unsigned char* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `unsigned` `char` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const short* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `short` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const unsigned short* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `unsigned` `short` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const int* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `int` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const unsigned int* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `unsigned` `int` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const long* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `long` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const unsigned long* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `unsigned` `long` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const float* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `float` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      put(const double* p, size_t N);

    クラス RWvostream から再定義した関数。`p` で始まる `double` ベクトルをバイナリ形式で出力ストリームに格納します。

      virtual RWvostream&
      putString(const char* p, size_t N);

    クラス RWvostream から再定義した関数。データは `N` 字を含む文字列としてフォーマットされます。

      virtual RWvostream&
      putString(const char*s, size_t N);

    文字列中のヌル文字を含む、s で始まる文字列を出力文字列に格納します。