std::basic_ios<CharT,Traits>::rdbuf
De cppreference.com
<tbody>
</tbody>
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.Parámetros
| sb | - | El búfer de flujo al que asociarse. |
Valor de retorno
El búfer de flujo asociado, o un puntero nulo si no había un búfer de flujo asociado.
Excepciones
Puede lanzar excepciones definidas por la implementación.
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
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) |