Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::ostrst...::ostrstream(3) C++ Standard Libarystd::ostrst...::ostrstream(3)

NAME
       std::ostrstream::ostrstream - std::ostrstream::ostrstream

Synopsis
	  ostrstream();
       (1)
	  ostrstream(char*   s,	  int	n,   std::ios_base::openmode   mode  =
       std::ios_base::out); (2)

	  Constructs new output	strstream and its  underlying  std::strstream-
       buf.

	  1)  Default-constructs  the underlying std::strstreambuf, which cre-
       ates a dynamically
	  growing buffer, and initializes the base class with the  address  of
       the strstreambuf
	  member.
	  2)  Initialized  the	base  class with the address of	the underlying
       std::strstreambuf
	  member, which	is initialized in one of the two possible  ways,  both
       of which	write to
	  user-provided	fixed-size array:
	  a) if	the app	bit is not set in mode,	constructs the buffer by call-
       ing
	  strstreambuf(s,  n,  s). The behavior	is undefined if	there are less
       than n elements
	  in the array whose first element is pointed to by s
	  b) if	the app	bit is set in mode, constructs the buffer  by  calling
       strstreambuf(s,
	  n,  s	+ std::strlen(s)). The behavior	is undefined if	there are less
       than n elements
	  in the array whose first element is pointed to by s or if the	 array
       does not	contain
	  a valid null-terminated character sequence.

Parameters
	  s    - char array to use as the output buffer
	  n    - size of the array to be used as the output buffer
		 specifies stream open mode. It	is a bitmask type, the follow-
       ing constants are
		 defined (although only	app is used):

		 Constant Explanation
	  mode - app	  seek to the end of stream before each	write
		 binary	  open in binary mode
		 in	  open for reading
		 out	  open for writing
		 trunc	  discard the contents of the stream when opening
		 ate	  seek to the end of stream immediately	after open

Example
       // Run this code

	#include <iostream>
	#include <strstream>

	int main()
	{
	    std::ostrstream s1;	// dynamic buffer
	    s1 << 1 << ' ' << 3.14 << "	example\n" << std::ends;
	    std::cout << s1.str();
	    s1.freeze(false);

	    char arr[15] = "Hello";

	    std::ostrstream s2(arr, sizeof arr,	std::ios_base::app);
	    s2 << ", world!" <<	std::ends;
	    std::cout << s2.str() << '\n';
	    std::cout << arr <<	'\n'; // streams use the provided arrays
	}

Output:
	1 3.14 example
	Hello, world!
	Hello, world!

See also
	  constructor	constructs a strstreambuf object
			(public	member function	of std::strstreambuf)
	  constructor	 constructs  an	 strstream,  optionally	allocating the
       buffer
			(public	member function	of std::istrstream)
	  constructor	constructs an  strstream,  optionally  allocating  the
       buffer
			(public	member function	of std::strstream)

http://cppreference.com		  2022.07.31	 std::ostrst...::ostrstream(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ostrstream::ostrstream&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help