- fstream[meta header]
- std[meta namespace]
- basic_ofstream[meta class]
- function[meta id-type]
basic_filebuf<CharT, Traits>* rdbuf() const;
- basic_filebuf[link ../basic_filebuf.md]
ストリームバッファオブジェクトを取得する。
basic_ofstream
は内部にbasic_filebuf
オブジェクトを保有しているため、基底クラスbasic_ios
の同名のメンバ関数と以下の点で異なる。
- 値を取得するための関数のみ存在する。これに対して、
basic_ios::rdbuf
関数では、値の取得・設定でオーバーロードされている。 - 戻り値の型が
basic_filebuf
へのポインタに変更されている。
*this
が内部で保有しているストリームバッファ(basic_filebuf
)オブジェクトへのポインタ。
#include <istream> // std::iostream用
#include <fstream>
int main()
{
std::ofstream fs("foo");
std::filebuf* buf = fs.rdbuf();
std::iostream ios(buf); // fs.rdbufで得たオブジェクトを元に、別のiostreamオブジェクトを構築。
int i;
ios >> i;
ios.seekg(0, std::ios_base::beg);
ios << "ABC" << std::endl;
}
- std::filebuf[link ../basic_filebuf.md]
- rdbuf()[color ff0000]
- std::iostream[link ../../istream/basic_iostream.md]
- seekg[link ../../istream/basic_istream/seekg.md]
- std::ios_base[link ../../ios/ios_base.md]
- beg[link ../../ios/ios_base/type-seekdir.md]
- C++98
basic_ios::rdbuf
: 基底クラスに存在する同名のメンバ関数。