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

posted @ 2014-12-02 15:17  Sky&Zhang  阅读(1637)  评论(2编辑  收藏  举报