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)

Gestiona el búfer de flujo asociado.

1) Devuelve el búfer de flujo asociado. Si no hay ningún búfer de flujo asociado, devuelve un puntero nulo.
2) Establece el búfer de flujo asociado a 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 ningún búfer de flujo asociado, devuelve un puntero nulo.

Contenidos

Parámetros

sb - Búfer de flujo a asociar.

Valor de retorno

El búfer de flujo asociado, o un puntero nulo si no había ningún búfer de flujo asociado.

Excepciones

Puede lanzar excepciones definidas por la implementación.

Ejemplo

#include <iostream>
#include <sstream>
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // guardar puntero al buffer de std::cout
    std::cout.rdbuf(local.rdbuf()); // sustituir buffer interno de std::cout con
                                    // buffer del objeto 'local'
    // ahora std::cout trabaja con el buffer de 'local'
    // no ves este mensaje
    std::cout << "some message";
    // volver al buffer anterior
    std::cout.rdbuf(cout_buff);
    // verás este mensaje
    std::cout << "back to default buffer\n";
    // imprimir contenido de 'local'
    std::cout << "local content: " << local.str() << "\n";
}

Salida:

back to default buffer
local content: some message

Véase también

reemplaza el rdbuf sin borrar su estado de error
(función miembro protegida)