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

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


RWeostream

... ios
RWeostream ...
... RWbostream RWvostream RWvios

形式

#include <rw/estream.h>
// cout の streambuf を使用する RWeostream を作成し、リトルエンディアン形
// 式で値を書き出す
RWeostream estr(cout, RWeostream::LittleEndian);

説明

クラス RWeostream は基底クラス RWbostream を特殊化し、可搬なバイナリ形式で値を格納します。結果は、対応する RWeistream を使用して復元できます。エンディアンストリームクラスの一般的な説明は、RWeistream のエントリを参照してください。

持続性

なし

ファイル "data.dat" を作成する方法については、RWeistream の例を参照してください。

#include <rw/estream.h>
#include <fstream.h>

main()
{
 ofstream fstr("data.dat");                        // 出力ファイルをオープンする
 RWeostream estr(fstr);                // 入力ファイルから RWeostream を作成する
                          // (DOS の場合、RWeistream estr(fstr, ios::binary)
 int i = 5;
 float f = 22.1;
 double d = -0.05;

 estr << i;                            // ネィティブエンディアン形式を使用して、int、
 estr << f << d;                       //  float、double を格納する
}

列挙型

enum RWeostream::Endian { LittleEndian,
                          BigEndian,
                          HostEndian }

RWeostreams がストリームで数値を表すのに用いなければならない形式を指定するのに使用します。HostEndian は、現在の環境のネィテイブ形式を使用することを意味します。

公開コンストラクタ

RWeostream(streambuf* s, Endian fmt = HostEndian);

streambufs から RWeostream を作成します。ストリームに置かれる値の形式は、fmt によって与えられたエンディアン形式になります。DOS の場合、この streambuf はバイナリモードで作成されていなければなりません。streambuf s が空でない場合は、例外 RWStreamErr を送出してください。

RWeostream(ostream& str, Endian fmt = HostEndian);

出力ストリーム str に関連する streambuf から RWeostream を作成します。ストリームに置かれる値の形式は、fmt によって与えられたエンディアン形式になります。DOS の場合、str をバイナリモードでオープンしなければなりません。streambufs が空でない場合は、例外 RWStreamErr を送出してください。

公開デストラクタ

virtual ~RWvostream();

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

公開メンバー関数

virtual RWvostream&
flush();

ストリームバッファーの内容を直ちに出力に送信します。

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

クラス RWbostream から再定義した関数。s から始まる文字列を出力ストリームに格納します。文字列は、ヌル文字で終了するものとみなされます。s の要素は、数ではなく、文字として扱われることに注意してください。

virtual RWvostream&
operator<<(char c);

クラス RWbostream から再定義した関数。char c を出力ストリームに格納します。c は、数ではなく、文字として扱われることに注意してください。

virtual RWvostream&
operator<<(wchar_t wc);

クラス RWbostream から再定義した関数。wchar_t wc を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。unsigned char c を出力ストリームに格納します。c は、数ではなく、文字として扱われることに注意してください。

virtual RWvostream&
operator<<(double d);

クラス RWbostream から再定義した関数。double d を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

virtual RWvostream&
operator<<(float f);

クラス RWbostream から再定義した関数。float f を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

virtual RWvostream&
operator<<(int i);

クラス RWbostream から再定義した関数。int i を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。unsigned int i を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

virtual RWvostream&
operator<<(long l);

クラス RWbostream から再定義した関数。long l を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。unsigned long l を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

virtual RWvostream&
operator<<(short s);

クラス RWbostream から再定義した関数。short s を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。unsigned short s を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から継承した関数。

virtual RWvostream&
put(wchar_t wc);

クラス RWbostream から再定義した関数。wchar_t wc を適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる wchar_t wc のベクトルを適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる unsigned char のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる short のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる unsigned short のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる int のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる unsigned int のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる long のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる unsigned long のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる float のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

クラス RWbostream から再定義した関数。p から始まる double のベクトルを、適切なエンディアン表現を使用して、バイナリ形式で出力ストリームに格納します。

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

s から始まる文字列を、埋め込まれたヌルを含めて、出力ストリームに格納します。