Namespaces
Variants

std::basic_ostream<CharT,Traits>:: flush

From cppreference.net
basic_ostream & flush ( ) ;

Écrit les modifications non validées dans la séquence de sortie sous-jacente. Se comporte comme une UnformattedOutputFunction .

Si rdbuf() est un pointeur nul, l'objet sentry n'est pas construit.

Sinon, après avoir construit et vérifié l'objet sentry, appelle rdbuf ( ) - > pubsync ( ) . Si l'appel retourne - 1 , appelle setstate ( badbit ) .

Table des matières

Valeur de retour

* this

Exceptions

Peut lever std::ios_base::failure si ( exceptions ( ) & badbit ) ! = 0 .

Exemple

#include <chrono>
#include <iostream>
#include <thread>
using namespace std::chrono_literals;
void f()
{
    std::cout << "Output from thread... ";
    for (int i{1}; i != 10; ++i)
    {
        std::this_thread::sleep_for(250ms);
        std::cout << i << ' ';
        // output three numbers at once;
        // the effect is observable only in real-time
        if (0 == (i % 3))
            std::cout.flush();
    }
    std::cout << std::endl; // flushes as well
}
int main()
{
    std::thread tr{f};
    std::this_thread::sleep_for(150ms);
    std::clog << "Output from main\n";
    tr.join();
}

Sortie :

Output from main
Output from thread... 1 2 3 4 5 6 7 8 9

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 581 C++98 flush() ne se comportait pas comme une UnformattedOutputFunction
en raison de la résolution de LWG issue 60
se comporte comme une
UnformattedOutputFunction

Voir aussi

invoque sync ( )
(fonction membre publique de std::basic_streambuf<CharT,Traits> )
[virtual]
synchronise les tampons avec la séquence de caractères associée
(fonction membre protégée virtuelle de std::basic_streambuf<CharT,Traits> )
vide le tampon du flux de sortie
(modèle de fonction)
affiche ' \n ' et vide le tampon du flux de sortie
(modèle de fonction)
se synchronise avec le dispositif de stockage sous-jacent
(fonction membre publique de std::basic_istream<CharT,Traits> )