std::basic_ios<CharT,Traits>::rdbuf
De cppreference.com
std::basic_streambuf<CharT, Traits>* rdbuf() const; |
(1) | |
std::basic_streambuf<CharT, Traits>* rdbuf( std::basic_streambuf<CharT, Traits>* sb ); |
(2) | |
Gestiona el búfer de flujo asociado.
1) Devuelve el búfer de flujo asociado. Si no hay un búfer de flujo asociado, devuelve un puntero nulo.
2) Establece el búfer de flujo asociado en
sb
. El estado de error se borra llamando a clear(). Devuelve el búfer de flujo asociado antes de la operación. Si no hay un búfer de flujo asociado, devuelve un puntero nulo.Contenido |
[editar] Parámetros
sb | - | El búfer de flujo al que asociarse. |
[editar] Valor de retorno
El búfer de flujo asociado, o un puntero nulo si no había un búfer de flujo asociado.
[editar] Excepciones
Puede lanzar excepciones definidas por la implementación.
[editar] Ejemplo
Ejecuta este código
#include <iostream> #include <sstream> int main() { std::ostringstream local; auto cout_buff = std::cout.rdbuf(); // guardar puntero al búfer de std::cout std::cout.rdbuf(local.rdbuf()); // sustituir el búfer interno de std::cout con // el búfer del objeto 'local' // ahora std::cout trabaja con el búfer 'local' // no ves este mensaje std::cout << "algún mensaje"; // de regreso al búfer anterior std::cout.rdbuf(cout_buff); // ahora ves este mensaje std::cout << "de regreso al búfer por defecto\n"; // imprimir el contenido de 'local' std::cout << "contenido local: " << local.str() << "\n"; }
Salida:
de regreso al búfer por defecto contenido local: algún mensaje
[editar] Véase también
sustituye a la rdbuf sin borrar su estado de errorOriginal: replaces the rdbuf without clearing its error stateThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función miembro protegida) |