fflush函数的深入理解
本人昵称sky,欢迎与各位多多交流学习
这样的c程序想必大家都不陌生,fflush()这个函数有清除输入输出缓存的功能,那很多人就会问了,什么是清除输入输出缓存呢?
其实就是我们在printf输出的时候,是先输出到一个叫缓存的地方去的,输出到那里后,然后才输出到屏幕上面去,但是因为for循环里只有一个printf语句,执行这一条语句的速度很快,因此如果不加fflush的话,你会发现是直接一次性打印到屏幕上的,其实是有经过一个缓存的过程,
但是如果加上fflush的话,那么就清除了缓存,也就是说每次 打印都会立刻输出到屏幕上去,stdout就是一个指针,指向屏幕的指针,准确地说是指向打印的窗口的指针。
int main(int argc, char **argv)
{
for(i=0;i<10;i++)
{
printf("%d",i);
fflush(stdout);
sleep(1);
}
}
欢迎与本人交流
新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
新浪微博:张昺华--sky
【作者】sky
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.