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

履歴 編集

function
<streambuf>

std::basic_streambuf::setbuf

namespace std {
  template<class CharT, class Traits = char_traits<CharT>>
  class basic_streambuf {
  protected:
    virtual basic_streambuf* setbuf(char_type* s, streamsize n);

    ……
  };
}

概要

バッファ領域を与える。

効果

デフォルトでは何もしない。(オーバーライドした関数の具体的な動作はそのクラスに委ねられる。)

戻り値

*this

#include <iostream>
#include <sstream>

int main() {
    char buf[32] = {};
    std::stringstream ss;

    ss.rdbuf()->pubsetbuf(buf, sizeof(buf));  // std::stringstreamのsetbuf()が呼ばれる
    ss << "ABC";

    std::cout << buf << std::endl;
}

出力例

ABC

バージョン

言語

  • C++98

参照