Reference

public member function
<fstream>

std::ofstream::rdbuf

filebuf* rdbuf() const;
Get stream buffer
Returns a pointer to the internal filebuf object.

Notice however, that this is not necessarily the same as the currently associated stream buffer (returned by ios::rdbuf ).

Parameters

none

Return Value

A pointer to the internal filebuf object.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// copy a file using file stream buffers
#include <fstream> // std::filebuf, std::ifstream, std::ofstream
#include <cstdio> // EOF
int main () {
 std::ifstream ifs ("test.txt");
 std::ofstream ofs ("copy.txt");
 std::filebuf* inbuf = ifs.rdbuf();
 std::filebuf* outbuf = ofs.rdbuf();
 char c = inbuf->sbumpc();
 while (c != EOF)
 {
 outbuf->sputc (c);
 c = inbuf->sbumpc();
 }
 ofs.close();
 ifs.close();
 return 0;
}

Data races

Accesses the stream object.
Concurrent access to the same stream object may cause data races.

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the stream buffer.

See also

filebuf
File stream buffer (class)
ios::rdbuf
Get/set stream buffer (public member function)

AltStyle によって変換されたページ (->オリジナル) /