strstream Class
The latest version of this topic can be found at strstream Class.
Describes an object that controls insertion and extraction of elements and encoded objects using a stream buffer of class strstreambuf.
Syntax
class strstream : public iostream
Remarks
The object stores an object of class strstreambuf
.
Note
This class is deprecated. Consider using stringstream or wstringstream instead.
Constructors
strstream | Constructs an object of type strstream . |
Member Functions
freeze | Causes a stream buffer to be unavailable through stream buffer operations. |
pcount | Returns a count of the number of elements written to the controlled sequence. |
rdbuf | Returns a pointer to the stream's associated strstreambuf object. |
str | Calls freeze, and then returns a pointer to the beginning of the controlled sequence. |
Requirements
Header: <strstream>
Namespace: std
strstream::freeze
Causes a stream buffer to be unavailable through stream buffer operations.
void freeze(bool _Freezeit = true);
Parameters
_Freezeit
A bool
indicating whether you want the stream to be frozen.
Remarks
The member function calls rdbuf -> freeze(_ Freezeit).
Example
See strstreambuf::freeze for an example that uses freeze.
strstream::pcount
Returns a count of the number of elements written to the controlled sequence.
streamsize pcount() const;
Return Value
The number of elements written to the controlled sequence.
Remarks
The member function returns rdbuf -> pcount.
Example
See strstreambuf::pcount for a sample of using pcount.
strstream::rdbuf
Returns a pointer to the stream's associated strstreambuf object.
strstreambuf *rdbuf
() const
Return Value
A pointer to the stream's associated strstreambuf object.
Remarks
The member function returns the address of the stored stream buffer of type pointer to strstreambuf.
Example
See strstreambuf::pcount for a sample that uses rdbuf
.
strstream::str
Calls freeze, and then returns a pointer to the beginning of the controlled sequence.
char *str();
Return Value
A pointer to the beginning of the controlled sequence.
Remarks
The member function returns rdbuf -> str.
Example
See strstreambuf::str for a sample that uses str.
strstream::strstream
Constructs an object of type strstream
.
strstream();
strstream(char* ptr,
streamsize count,
ios_base::openmode _Mode = ios_base::in | ios_base::out);
Parameters
count
The size of the buffer.
_Mode
The input and output mode of the buffer. See ios_base::openmode for more information.
ptr
The buffer.
Remarks
Both constructors initialize the base class by calling streambuf( sb), where sb is the stored object of class strstreambuf. The first constructor also initializes sb by calling strstreambuf. The second constructor initializes the base class one of two ways:
If
_Mode
& ios_base::app== 0, thenptr
must designate the first element of an array ofcount
elements, and the constructor callsstrstreambuf
(ptr
,count
,ptr
).Otherwise,
ptr
must designate the first element of an array of count elements that contains a C string whose first element is designated byptr
, and the constructor callsstrstreambuf
(ptr
,count
,ptr
+strlen
(ptr
) ).
See Also
iostream
Thread Safety in the C++ Standard Library
iostream Programming
iostreams Conventions