std::basic_ios<CharT,Traits>::rdbuf
Von cppreference.com
| 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
Führen Sie diesen Code aus
#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) |