VMS Help CXXLSTD, IOStreams, strstream *Conan The Librarian |
Standard C++ Library Copyright 1996, Rogue Wave Software, Inc. NAME strstream This page describes the ANSI strstream class. If you would like information on the pre-ANSI strstream class, use the command: help cxxl SYNOPSIS #include <strstream> class strstream : public basic_iostream<char> DESCRIPTION The class strstream provides functionality to read and write to an array in memory. It uses a private strstreambuf object to control the associated array. It inherits from basic_iostream<char> and therefore can use all the formatted and unformatted output and input functions. INTERFACE class strstream : public basic_iostream<char> { public: typedef char_traits<char> traits; typedef char char_type; typedef typename traits::int_type int_type; typedef typename traits::pos_type pos_type; typedef typename traits::off_type off_type; strstream(); strstream(char *s, int n, ios_base::openmode = ios_base::out | ios_base::in); void freeze(int freezefl = 1); int pcount() const; virtual ~strstream(); strstreambuf *rdbuf() const; char *str(); }; TYPES char_type The type char_type is a synonym of type char. int_type The type int_type is a synonym of type traits::in_type. off_type The type off_type is a synonym of type traits::off_type. pos_type The type pos_type is a synonym of type traits::pos_type. traits The type traits is a synonym of type char_traits<char>. CONSTRUCTORS strstream(); Constructs an object of class strstream, initializing the base class basic_iostream<char> with the associated strstreambuf object. The strstreambuf object is initialized by calling its default constructor strstreambuf(). strstream(char* s,int n, ios_base::openmode mode = ios_base::out | ios_base::in); Constructs an object of class strstream, initializing the base class basic_iostream<char> with the associated strstreambuf object. The strstreambuf object is initialized by calling one of two constructors: + if mode & app == 0 calls strstreambuf(s,n,s) + Otherwise calls strstreambuf(s,n,s + ::strlen(s)) DESTRUCTORS virtual ~strstream(); Destroys an object of class strstream. MEMBER FUNCTIONS void freeze(int freezefl = 1); If the mode is dynamic, alters the freeze status of the dynamic array object as follows: + If freezefl is false, the function sets the freeze status to frozen. + Otherwise, it clears the freeze status. int pcount() const; Returns the size of the output sequence. strstreambuf* rdbuf() const; Returns a pointer to the strstreambuf object associated with the stream. char* str(); Returns a pointer to the underlying array object which may be null. EXAMPLES // // stdlib/examples/manual/strstream.cpp // #include<strstream> void main ( ) { using namespace std; // create a bi-directional strstream object strstream inout; // output characters inout << "Das ist die rede von einem man" << endl; inout << "C'est l'histoire d'un home" << endl; inout << "This is the story of a man" << endl; char p[100]; // extract the first line inout.getline(p,100); // output the first line to stdout cout << endl << "Deutch :" << endl; cout << p; // extract the seconf line inout.getline(p,100); // output the second line to stdout cout << endl << "Francais :" << endl; cout << p; // extract the third line inout.getline(p,100); // output the third line to stdout cout << endl << "English :" << endl; cout << p; // output the all content of the // strstream object to stdout cout << endl << endl << inout.str(); } SEE ALSO char_traits, ios_base, basic_ios, strstreambuf, istrstream, ostrstream(3c++) Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++, Annex D Compatibility features Section D.6.4 STANDARDS CONFORMANCE ANSI X3J16/ISO WG21 Joint C++ Committee
|