バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWXDRostream (Unix のみ)
![]() ![]() | |
RWXDRostream | |
![]() |
#include <rw/xdrstrea.h> XDR xdr; xdrstdio_create(&xdr, stdout, XDR_ENCODE) ; RWXDRostream rw_xdr(&xdr);
このクラスでは、あるストリームから出力したり、機械表現から XDR 構造体を符号化できるだけでなく、標準のデータ型やそのデータ型のベクトルをすべて符号化することができます。
XDR ストリームを作成するには、最初に適切な作成用ルーチンを呼び出します。XDR ストリームは現在、標準入出力 FILE ストリーム、TCP/IP 接続、UNIX ファイル、メモリーなどからのデータの符号化および復号化に使用できます。これらの作成ルーチンにはストリームの属性を指定する引数を指定することができます。XDR ストリームを作成すると、RWXDRostream オブジェクトに対するコンストラクタの引数として使用することができます。
メンバー関数の bad()、clear()、eof()、fail()、good()、rdstate() を使用して、RWXDRostream にストリームの状態を問い合わせることができます。
#include <rw/xdrstrea.h> #include <rw/rstream.h> #include <stdio.h> main(){ XDR xdr; FILE* fp = fopen("test","w+"); xdrstdio_create(&xdr, fp, XDR_ENCODE); RWXDRostream rw_xdr(&xdr); for(int i=0; i<10; ++i) rw_xdr << i; // 整数データを符号化する fclose(fp); } |
RWXDRostream(XDR* xp);
RWXDRostream(streambuf*);
RWXDRostream(ostream&);
virtual ~RWXDRostream();
virtual RWvostream& operator<<(const char* s);
virtual RWvostream& operator<<(char c);
virtual RWvostream& operator<<(wchar_t wc);
virtual RWvostream& operator<<(unsigned char c);
virtual RWvostream& operator<<(double d);
virtual RWvostream& operator<<(float f);
virtual RWvostream& operator<<(int i);
virtual RWvostream& operator<<(unsigned int i);
virtual RWvostream& operator<<(long l);
virtual RWvostream& operator<<(unsigned long l);
virtual RWvostream& operator<<(short s);
virtual RWvostream& operator<<(unsigned short s);
virtual RWvostream& put(char c);
virtual RWvostream& put(unsigned char c);
virtual RWvostream& put(wchar_t wc);
virtual RWvostream& put(const char* p, size_t N);
virtual RWvostream& put(const wchar_t* p, size_t N);
virtual RWvostream& put(const short* p, size_t N);
virtual RWvostream& put(const unsigned short* p, size_t N);
virtual RWvostream& put(const int* p, size_t N);
virtual RWvostream& put(const unsigned int* p, size_t N);
virtual RWvostream& put(const long* p, size_t N);
virtual RWvostream& put(const unsigned long* p, size_t N);
virtual RWvostream& put(const float* p, size_t N);
virtual RWvostream& put(const double* p, size_t N);
Virtual RWXDRostream& flush();
Virtual RWXDRostream& putString(const char*s, size_t N);