猿问

std :: flush如何工作?

std :: flush如何工作?

有人可以解释(最好用简单的英语)如何std::flush工作?

  • 它是什么?

  • 你什么时候冲洗一条小溪?

  • 它为什么如此重要?

谢谢。


拉丁的传说
浏览 1347回答 3
3回答

守候你守候我

这是一个简短的程序,您可以编写它来观察正在进行的刷新#include&nbsp;<iostream>#include&nbsp;<unistd.h>using&nbsp;namespace&nbsp;std;int&nbsp;main()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;<<&nbsp;"Line&nbsp;1..."&nbsp;<<&nbsp;flush; &nbsp;&nbsp;&nbsp;&nbsp;usleep(500000); &nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;<<&nbsp;"\nLine&nbsp;2"&nbsp;<<&nbsp;endl; &nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;<<&nbsp;"Line&nbsp;3"&nbsp;<<&nbsp;endl&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}运行此程序:你会注意到它打印第1行,暂停,然后打印第2行和第3行。现在删除刷新调用并再次运行程序 - 你会注意到程序暂停,然后打印所有3行同时。在程序暂停之前缓冲第一行,但由于缓冲区永远不会被刷新,因此直到第2行的endl调用才会输出第1行。
随时随地看视频慕课网APP
我要回答