Namespaces
Variants

std::basic_ios<CharT,Traits>:: rdbuf

From cppreference.net
std:: basic_streambuf < CharT, Traits > * rdbuf ( ) const ;
(1)
std:: basic_streambuf < CharT, Traits > * rdbuf ( std:: basic_streambuf < CharT, Traits > * sb ) ;
(2)

関連付けられたストリームバッファを管理します。

1) 関連付けられたストリームバッファを返す。関連付けられたストリームバッファがない場合は、ヌルポインタを返す。
2) 関連するストリームバッファを sb に設定します。エラー状態は clear() を呼び出すことでクリアされます。操作前の関連するストリームバッファを返します。関連するストリームバッファが存在しない場合は、ヌルポインタを返します。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - HTMLタグ、属性、リンク先は一切変更していません - C++関連の用語(Parameters、Return value、Exceptions、Example、See also)は原文のまま保持しています - 数値や書式設定は完全に維持しています

パラメータ

sb - 関連付けるストリームバッファ。

戻り値

関連付けられたストリームバッファ、または関連付けられたストリームバッファが存在しなかった場合はnullポインタ。

例外

実装定義の例外をスローする可能性があります。

#include <iostream>
#include <sstream>
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // std::coutバッファへのポインタを保存
    std::cout.rdbuf(local.rdbuf()); // std::coutの内部バッファを
                                    // 'local'オブジェクトのバッファで置換
    // これ以降std::coutは'local'バッファで動作
    // このメッセージは表示されない
    std::cout << "some message";
    // 元のバッファに戻す
    std::cout.rdbuf(cout_buff);
    // このメッセージは表示される
    std::cout << "back to default buffer\n";
    // 'local'の内容を出力
    std::cout << "local content: " << local.str() << "\n";
}

出力:

back to default buffer
local content: some message

関連項目

エラー状態をクリアせずに rdbuf を置き換える
(protected member function)