• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <fstream>

    std::basic_fstream::rdbuf

    basic_filebuf<CharT, Traits>* rdbuf() const;
    

    概要

    ストリームバッファオブジェクトを取得する。

    basic_fstreamは内部にbasic_filebufオブジェクトを保有しているため、基底クラスbasic_iosの同名のメンバ関数と以下の点で異なる。

    • 値を取得するための関数のみ存在する。これに対して、basic_ios::rdbuf関数では、値の取得・設定でオーバーロードされている。
    • 戻り値の型がbasic_filebufへのポインタに変更されている。

    戻り値

    • *thisが内部で保有しているストリームバッファ(basic_filebuf)オブジェクトへのポインタ。

    #include <istream> // std::iostream
    #include <fstream>
    
    int main()
    {
      std::fstream 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;
    }
    

    バージョン

    言語

    • C++98

    参照