バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWpistream
#include <rw/pstream.h> RWpistream pstr(cin); // cin の streambuf を使用して // RWpistream を作成する
RWpistream と RWpostream は、対応する streambuf の ASCII 形式版と考えられます。結果をどのマシンにも移植できるように、変数のフォーマットおよび文字のエスケープを行います。したがって、よりマシン依存度の強いバイナリ形式版 RWbistream および RWbostream よりも処理速度は遅くなります。RWpistream と RWposream には対応する streambuf の状態に関する情報が保存されていないので、istream や ifstream などといった streambuf から派生したストリームと自由に切り換えて利用できます。
メンバー関数 good()、bad()、eof() などを使用して、RWpistream にストリームの状態を問い合わせることができます。
#include <rw/pstream.h> main() { // 標準入力を使用するために RWpistream を作成する RWpistream pstr(cin); int i; float f; double d; char string[80]; pstr >> i; // ASCII 形式で格納してある整数を復元する pstr >> f >> d; // 浮動小数点数と倍精度実数を復元する pstr.getString(string, 80); // 文字列を復元する } |
RWpistream(streambuf* s);
RWpistream(istream& str);
virtual RWvistream& operator>>(char& c);
virtual RWvistream& operator>>(wchar_t& wc);
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>>(unsigned char& c);
virtual RWvistream& operator>>(unsigned short& s);
virtual RWvistream& operator>>(unsigned int& i);
virtual RWvistream& operator>>(unsigned long& l);
operator void*();
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(wchar_t* 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(long* v, size_t N);
virtual RWvistream& get(short* v, size_t N);
virtual RWvistream& get(unsigned char* v, size_t N);
virtual RWvistream& get(unsigned short* v, size_t N);
virtual RWvistream& get(unsigned int* v, size_t N);
virtual RWvistream& get(unsigned long* v, size_t N);
virtual RWvistream& getString(char* s, size_t N);
virtual RWvistream& getString(wchar_t* ws, size_t N);