Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |io‎ |basic ostream
       
       
       
       
      basic_ostream& flush();

      Writes uncommitted changes to the underlying output sequence. Behaves as anUnformattedOutputFunction.

      Ifrdbuf() is a null pointer, the sentry object is not constructed.

      Otherwise, after constructing and checking the sentry object, callsrdbuf()->pubsync(). If the call returns-1, callssetstate(badbit).

      Contents

      [edit]Return value

      *this

      [edit]Exceptions

      May throwstd::ios_base::failure if(exceptions()& badbit)!=0.

      [edit]Example

      Run this code
      #include <chrono>#include <iostream>#include <thread> usingnamespace 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-timeif(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();}

      Output:

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

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 581C++98flush() did not behave as anUnformattedOutputFunction
      because of the resolution ofLWG issue 60
      behaves as an
      UnformattedOutputFunction

      [edit]See also

      invokessync()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      synchronizes the buffers with the associated character sequence
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      flushes the output stream
      (function template)[edit]
      outputs'\n' and flushes the output stream
      (function template)[edit]
      synchronizes with the underlying storage device
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ostream/flush&oldid=181454"

      [8]ページ先頭

      ©2009-2025 Movatter.jp