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