Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 
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 Stream-Buffer.

1) Gibt den zugehörigen Stream-Buffer zurück. Wenn kein zugehöriger Stream-Buffer vorhanden ist, wird ein Nullzeiger zurückgegeben.
2) Setzt den zugehörigen Stream-Buffer auf sb. Der Fehlerzustand wird durch Aufrufen von clear() gelöscht. Gibt den zugehörigen Stream-Buffer vor der Operation zurück. Wenn kein zugehöriger Stream-Buffer vorhanden ist, wird ein Nullzeiger zurückgegeben.

Inhalt

[bearbeiten] Parameter

sb - Stream-Buffer, der zugeordnet werden soll.

[bearbeiten] Rückgabewert

Der zugehörige Stream-Buffer oder ein Nullzeiger, wenn kein zugehöriger Stream-Buffer vorhanden war.

[edit] Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

[bearbeiten] Beispiel

#include <iostream>
#include <sstream>
 
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // save pointer to std::cout buffer
 
    std::cout.rdbuf(local.rdbuf()); // substitute internal std::cout buffer with
                                    // buffer of 'local' object
 
    // now std::cout work with 'local' buffer
    // you don't see this message
    std::cout << "some message";
 
    // go back to old buffer
    std::cout.rdbuf(cout_buff);
 
    // you will see this message
    std::cout << "back to default buffer\n";
 
    // print 'local' content
    std::cout << "local content: " << local.str() << "\n";
}

Ausgabe

back to default buffer
local content: some message

[bearbeiten] Siehe auch

ersetzt den rdbuf, ohne dessen Fehlerstatus zu löschen
(geschützte Memberfunktion) [bearbeiten]