fflush()
是一个 C 语言库函数,用于将缓冲区的内容刷新到文件或流中
在程序中使用 printf()
或 putchar()
等函数时,输出通常会被存储在缓冲区,然后在适当的时候(例如缓冲区满时或遇到换行符时)将其刷新到标准输出(通常是屏幕)。这种机制可以提高 I/O 性能,但有时可能导致输出顺序不符合预期。
fflush(stdout)
可以确保缓冲区中的所有内容都被立即刷新到标准输出。这在调试程序或需要实时显示输出的场景中非常有用。
下面是一个简单的示例:
#include<stdio.h>
int main() {
printf("Hello, ");
fflush(stdout); // 立即将 "Hello, " 刷新到标准输出
sleep(1); // 等待 1 秒
printf("world!\n");
return 0;
}
在这个示例中,fflush(stdout)
确保 "Hello, " 立即显示在屏幕上,而不是等待整个程序执行完毕。