strstream man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

STRSTREAM(3CC4)						       STRSTREAM(3CC4)

NAME
       strstream - stream class for ``I/O'' using character arrays

SYNOPSIS
       #include <strstream.h>
       class ios {
       public:
	    enum open_mode  { in, out, ate, app, trunc, nocreate, noreplace };
	    // see ios(3CC4) for remainder ...
       };
       #include <strstream.h> // includes <iostream.h>
       class  strstreambuf : public streambuf {
	    // see strstreambuf(3C++) ...
       };
       class strstreambase : virtual public ios {
	    // implementation detail of the Xstream classes ...
       };
       class istrstream : public strstreambase, public istream {
       public:
	    istrstream(char* ptr);
	    istrstream(char* ptr, int len);
	    strstreambuf* rdbuf();
       };
       class ostrstream : public strstreambase, public ostream {
       public:
	    ostrstream(char* ptr, int len, int mode=ios::out);
	    ostrstream();
	    strstreambuf* rdbuf();
	    int	 pcount();
	    char*     str();
       };
       class strstream : public strstreambase, public iostream {
       public:
	    strstream();
	    strstream(char* ptr, int len, int mode);
	    strstreambuf* rdbuf();
	    char*     str();
       };

DESCRIPTION
       Classes	istrstream,  ostrstream,  and  strstream are specialization of
       classes istream, ostream, and iostream, respectively, for I/O using in-
       memory  character  arrays.   That  is,  the  associated	streambuf is a
       strstreambuf.

       An auxiliary class strstreambase is an implementation detail, primarily
       to provide a set of common functions.  It is not further discussed.

   istrstream members
       istrstream(ptr)
	      Assumes  ptr  points  to	a null-terminated array of characters,
	      which will serve as the input source.  The null is not  part  of
	      the  input.   Seeks, using seekg(), are allowed within the range
	      of the array.

       istrstream(ptr, len)
	      Assumes ptr points to an array  of  characters  of  length  len,
	      which will serve as the input source.  Seeks, using seekg(), are
	      allowed within the range of the array.

       strstreambuf* ssbp = iss.rdbuf()
	      Returns a pointer to the strstreambuf associated with iss.  This
	      is the same as base class versions of this function, except that
	      the return type is specifically a strstreambuf*.

   ostrstream members
       ostrstream()
	      Creates an empty output stream, which uses  a  dynamic  (expand‐
	      able) array of characters (see ssbuf(3CC4).  Seeks are permitted
	      within the current bounds of the array.  Presumably this	stream
	      will be converted later to a char* via str() (see below).

       ostrstream(ptr, len, mode)
	      Creates an output stream using the static (non-expandable) array
	      of len characters starting at ptr.  If the ios::ate or  ios::app
	      bits  are	 set  in mode (see ios(3CC4)), the array is assumed to
	      contain a null-terminated string beginning at  ptr.   Characters
	      will  be	stored beginning at the null character, but will never
	      go beyond len characters.	 If those bits are not	set  in	 mode,
	      the  array is assumed to contain no data, and characters will be
	      stored beginning at ptr.	Seeks are allowed within the range  of
	      the array.

       strstreambuf* ssbp = oss.rdbuf()
	      Returns a pointer to the strstreambuf associated with oss.  This
	      is the same as base class versions of this function, except that
	      the return type is specifically a strstreambuf*.

       int n = oss.pcount()
	      Returns  the  number of characters stored in the array.  This is
	      of use particularly when the array contains binary  data	or  is
	      not otherwise null-terminated.

       char* ptr = oss.str()
	      Returns  a  pointer  to  the  start of the underlying array, and
	      freezes (see strstreambuf(3C++)) the stream.  If the  array  was
	      dynamically  allocated, it will not now be automatically deleted
	      or null-terminated, and is no longer expandable (see freeze() in
	      strstreambuf).   Until  str() is called, a dynamically allocated
	      array would  be  automatically  freed  when  the	streambuf  was
	      destroyed.  Afterward, the user is responsible for the array and
	      when to free it.

   strstream members
       strstream()
	      Creates an empty bidirectional  stream,  which  uses  a  dynamic
	      (expandable)  array  of  characters (see ssbuf(3CC4).  Seeks are
	      permitted within the current bounds of the array.

       strstream(ptr, len, mode)
	      Creates a bidirectional stream using the static (non-expandable)
	      array  of	 len  characters  starting at ptr.  If the ios::ate or
	      ios::app bits are set in mode  (see  ios(3CC4)),	the  array  is
	      assumed  to  contain  a null-terminated string beginning at ptr.
	      Characters will be stored beginning at the null  character,  but
	      will  never go beyond len characters.  If those bits are not set
	      in mode, the array is assumed to contain no data, and characters
	      will  be	stored beginning at ptr.  Seeks are allowed within the
	      range of the array.

       strstreambuf* ssbp = ss.rdbuf()
	      Returns a pointer to the strstreambuf associated with ss.	  This
	      is the same as base class versions of this function, except that
	      the return type is specifically a strstreambuf*.

       char* ptr = ss.str()
	      Returns a pointer to the start  of  the  underlying  array,  and
	      freezes  (see  strstreambuf(3C++)) the stream.  If the array was
	      dynamically allocated, it will not now be automatically  deleted
	      or null-terminated, and is no longer expandable (see freeze() in
	      strstreambuf).  Until str() is called, a	dynamically  allocated
	      array  would  be	automatically  freed  when  the	 streambuf was
	      destroyed.  Afterward, the user is responsible for the array and
	      when to free it.

SEE ALSO
       ios.intro(3CC4), ios(3CC4), istream(3CC4), ostream(3CC4), sbuf‐
       pub(3CC4), ssbuf(3CC4),

       C++ Library Reference

	       Chapter 3, "The Classic iostream Library."

				 14 March 1995		       STRSTREAM(3CC4)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net