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)

Verwaltet den zugehörigen Streampuffer.

1) Gibt den zugehörigen Streampuffer zurück. Wenn kein Streampuffer zugeordnet ist, wird ein Nullzeiger zurückgegeben.
2) Setzt den zugehörigen Streampuffer auf sb . Der Fehlerstatus wird durch Aufruf von clear() gelöscht. Gibt den zugehörigen Streampuffer vor der Operation zurück. Wenn kein Streampuffer zugeordnet ist, wird ein Nullzeiger zurückgegeben.

Inhaltsverzeichnis

Parameter

sb - Stream-Puffer, der zugeordnet werden soll.

Rückgabewert

Der zugehörige Streampuffer oder ein Nullzeiger, falls kein zugehöriger Streampuffer vorhanden war.

Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

Beispiel

#include <iostream>
#include <sstream>
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // Zeiger auf std::cout-Puffer speichern
    std::cout.rdbuf(local.rdbuf()); // internen std::cout-Puffer mit
                                    // Puffer des 'local'-Objekts ersetzen
    // jetzt arbeitet std::cout mit 'local'-Puffer
    // diese Nachricht sehen Sie nicht
    std::cout << "some message";
    // zum alten Puffer zurückkehren
    std::cout.rdbuf(cout_buff);
    // diese Nachricht werden Sie sehen
    std::cout << "back to default buffer\n";
    // 'local'-Inhalt ausgeben
    std::cout << "local content: " << local.str() << "\n";
}

Ausgabe:

back to default buffer
local content: some message

Siehe auch

ersetzt den rdbuf ohne dessen Fehlerstatus zu löschen
(geschützte Elementfunktion)