如何在 c 中使用 ffllush(stdout)?

时间:2021-04-29 07:07:16

标签: c fflush

我知道 fflush(stdin) 根据标准,这是未定义的行为。但是当涉及到 stdout 时,就没有这样的限制。我做了谷歌以获得使用 stdout 作为 fflush 的参数的概念,但我无法得到它。

有人可以用一个简单的例子详细说明以 fflush 作为参数的 stdout 函数吗?

1 个答案:

答案 0 :(得分:0)

在打印时(例如 printf),输出被放入缓冲区,并且在显示换行符之前可能不会写入控制台。为确保缓冲区中的所有内容都写入控制台,可以使用 fflush(stdout)

一个例子是显示某个进程的进度:

   for(int i = 0; i < 100; i++)
   {
       <...calculation...>
       printf("."); // Print a dot after each iteration to show progress
       fflush(stdout);   // The dot may be buffered. This ensures that it is displayed immediately
   }
相关问题