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)

Gère le tampon de flux associé.

1) Retourne le tampon de flux associé. S'il n'y a pas de tampon de flux associé, retourne un pointeur nul.
2) Définit le tampon de flux associé à sb . L'état d'erreur est effacé en appelant clear() . Retourne le tampon de flux associé avant l'opération. S'il n'y a pas de tampon de flux associé, retourne un pointeur nul.

Table des matières

Paramètres

sb - Tampon de flux à associer.

Valeur de retour

Le tampon de flux associé, ou un pointeur nul s'il n'y avait pas de tampon de flux associé.

Exceptions

Peut lever des exceptions définies par l'implémentation.

Exemple

#include <iostream>
#include <sstream>
int main()
{
    std::ostringstream local;
    auto cout_buff = std::cout.rdbuf(); // sauvegarder le pointeur vers le buffer de std::cout
    std::cout.rdbuf(local.rdbuf()); // substituer le buffer interne de std::cout par
                                    // le buffer de l'objet 'local'
    // maintenant std::cout travaille avec le buffer de 'local'
    // vous ne voyez pas ce message
    std::cout << "some message";
    // revenir à l'ancien buffer
    std::cout.rdbuf(cout_buff);
    // vous verrez ce message
    std::cout << "back to default buffer\n";
    // afficher le contenu de 'local'
    std::cout << "local content: " << local.str() << "\n";
}

Sortie :

back to default buffer
local content: some message

Voir aussi

remplace le rdbuf sans effacer son état d'erreur
(fonction membre protégée)