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

FreeBSD Manual Pages

  
 
  

home | help
std::strstreambuf::setbuf(3)  C++ Standard Libary std::strstreambuf::setbuf(3)

NAME
       std::strstreambuf::setbuf - std::strstreambuf::setbuf

Synopsis
	  protected:
	  virtual streambuf<char>* setbuf(char*	s, std::streamsize n);

	  If s is a null pointer and n is zero,	this function has no effect.

	  Otherwise,  the  effect  is implementation-defined: some implementa-
       tions do	nothing,
	  while	some implementations deallocate	the dynamic member array  used
       as the buffer
	  and  begin  using the	user-supplied character	array of size n, whose
       first element is
	  pointed to by	s.

	  This function	is protected virtual, it may only  be  called  through
       pubsetbuf() or
	  from	 member	  functions  of	 a  user-defined  class	 derived  from
       std::strstreambuf.

Parameters
	  s - pointer to the first byte	in the user-provided buffer
	  n - the number of bytes in the user-provided buffer

Return value
	  this

Example
	  Implementation test to check if setbuf() is supported	on  a  dynamic
       strstream (output
	  obtained with	Sun Studio)

       // Run this code

	#include <strstream>
	#include <iostream>

	int main()
	{
	    char a[100]	= {};
	    std::strstream str;
	    str.rdbuf()->pubsetbuf(a, sizeof a);
	    str	<< "Test string" << std::ends;
	    std::cout << "user-provided	buffer holds '"	<< a <<	"'\n";
	}

Possible output:
	user-provided buffer holds 'Test string'

See also
	  pubsetbuf invokes setbuf()
		    (public	member	  function    of    std::basic_stream-
       buf<CharT,Traits>)
	  setbuf    replaces the buffer	with user-defined array, if permitted
	  [virtual] (virtual protected member function	of  std::basic_stream-
       buf<CharT,Traits>)
	  setbuf    attempts to	replace	the controlled character sequence with
       an array
	  [virtual] (virtual protected member function of
		    std::basic_stringbuf<CharT,Traits,Allocator>)
	  setbuf     provides  user-supplied  buffer or	turns this filebuf un-
       buffered
	  [virtual] (virtual protected	member	function  of  std::basic_file-
       buf<CharT,Traits>)

http://cppreference.com		  2022.07.31	  std::strstreambuf::setbuf(3)

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

home | help