strstream Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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.

class strstream : public iostream

The object stores an object of class strstreambuf.

System_CAPS_ICON_note.jpg Note

This class is deprecated. Consider using stringstream or wstringstream instead.

Constructors

strstreamConstructs an object of type strstream.

Member Functions

freezeCauses a stream buffer to be unavailable through stream buffer operations.
pcountReturns a count of the number of elements written to the controlled sequence.
rdbufReturns a pointer to the stream's associated strstreambuf object.
strCalls freeze, and then returns a pointer to the beginning of the controlled sequence.

Header: <strstream>

Namespace: std

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.

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.

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.

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.

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, then ptr must designate the first element of an array of count elements, and the constructor calls strstreambuf( 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 by ptr, and the constructor calls strstreambuf( ptr, count, ptr + strlen( ptr) ).

iostream
Thread Safety in the C++ Standard Library
iostream Programming
iostreams Conventions

Show: