std::basic_ostream<CharT,Traits>::flush
来自cppreference.com
< cpp | io | basic ostream
basic_ostream& flush(); |
||
写入未提交更改到底层输出序列。
若 rdbuf() 为空指针,则不做任何事。
否则,表现为无格式输出函数 (UnformattedOutputFunction) (C++11 起)。构造并检查 sentry 对象后,调用 rdbuf()->pubsync() 。若该调用返回 -1 ,则调用 setstate(badbit) 。
参数
(无)
返回值
*this
异常
若 exceptions()&badbit!=0 则可能抛出 std::ios_base::failure 。
示例
运行此代码
#include <thread> #include <iostream> #include <chrono> void f() { std::cout << "Output from thread..."; std::this_thread::sleep_for(std::chrono::seconds(2)); std::cout << "...thread calls flush()\n"; std::cout.flush(); } int main() { std::thread t1(f); std::this_thread::sleep_for(std::chrono::seconds(1)); std::clog << "Output from main\n"; t1.join(); }
输出:
Output from main Output from thread.....thread calls flush()
参阅
调用 sync() ( std::basic_streambuf<CharT,Traits> 的公开成员函数) | |
[虚] |
将缓冲与关联的字符序列同步 ( std::basic_streambuf<CharT,Traits> 的虚受保护成员函数) |
冲洗输出流 (函数模板) | |
输出 '\n' 并冲洗输出流 (函数模板) | |
与底层存储设备同步 ( std::basic_istream<CharT,Traits> 的公开成员函数) |