微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

解决方法

在打印时(例如 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
   }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。