public member function

std::streambuf::pubsetbuf

<streambuf>
streambuf* pubsetbuf ( char* s, streamsize n );
Set buffer array
Calls the protected virtual member setbuf, which is intended to set the array pointed by parameter s as the internal character sequence to be used by the stream buffer object, although specific implementations may vary.

If both parameters are zero, the object becomes unbuffered.

Parameters

s
Pointer to an array of n characters already allocated in memory.
n
Length of the character buffer pointed by s, measured in characters.
This is an integral value of type streamsize.

Return Value

In case of success, the member function should return a pointer to the object (this pointer), otherwise a null pointer.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// set character buffer (pubsetbuf)
#include <fstream>
using namespace std;

int main () {

  char mybuffer [512];
  fstream filestr;
  filestr.rdbuf()->pubsetbuf(mybuffer,512);

  // operations with file stream here.

  return 0;
}


The code in this example sets a new buffer of 512 characters for filestr's strembuf object if the iostream implementation allows for it.

Basic template member declaration

( basic_streambuf<charT,traits> )
 
basic_streambuf<charT,traits>* pubsetbuf (charT* s, streamsize n);


See also