Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
IOstream Library
manipulators
classes:
filebuf
fstream
ifstream
ios
iostream
ios_base
istream
istringstream
ofstream
ostream
ostringstream
streambuf
stringbuf
stringstream
objects:
cerr
cin
clog
cout
types:
fpos
streamoff
streampos
streamsize
fstream
fstream::fstream
member functions:
fstream::close
fstream::is_open
fstream::open
fstream::rdbuf


fstream::rdbuf

public member function
filebuf* rdbuf ( ) const;

Get the associated filebuf object

Returns a pointer to the filebuf object associated with the stream.

Parameters

none

Return Value

A pointer to the filebuf object associated with the stream.
Notice that for any successfully constructed fstream object this pointer is never a null pointer, even if no files have been opened or if the stream is unbuffered.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// open and close a file using buffer members
#include <fstream>
using namespace std;
int main () {
  char ch;
  fstream filestr;
  filebuf *pbuf;
  pbuf=filestr.rdbuf();
  
  pbuf->open ("test.txt", fstream::in | fstream::out);
  // >> i/o operations here <<
  pbuf->close();
  return 0;
}


The example opens an input and an output file, then gets the pointers to their respective file buffers and performs operations on them to make a character-by-character copy of the input file.

Basic template member declaration

( basic_ofstream<charT,traits,Allocator> )
 
basic_filebuf<charT,traits,Allocator> * rdbuf () const;


See also