当前位置: 技术问答>linux和unix
fflush问题.
来源: 互联网 发布时间:2016-03-01
本文导语: 我拿如下程序看fflush的效果,但是第一次printf的时候不用fflush内容就被刷在了屏幕上,而在其后循环中,每次的内容都要fflush后才能显示在屏幕上,这是为何? #include #include int main (void) { int i = 0; printf ("xxxxx...
我拿如下程序看fflush的效果,但是第一次printf的时候不用fflush内容就被刷在了屏幕上,而在其后循环中,每次的内容都要fflush后才能显示在屏幕上,这是为何?
#include
#include
int
main (void)
{
int i = 0;
printf ("xxxxxxx %dn", 5);
sleep (10);
while (1)
{
printf("sleeping %d", i++); //(1)
fflush(stdout);
sleep(1);
}
return 0;
}
#include
#include
int
main (void)
{
int i = 0;
printf ("xxxxxxx %dn", 5);
sleep (10);
while (1)
{
printf("sleeping %d", i++); //(1)
fflush(stdout);
sleep(1);
}
return 0;
}
|
printf("sleeping %d n", i++); //(1)
你加 n 试试 .
你加 n 试试 .
|
标准C规定以下的几种情况下将缓冲区的内容传给屏幕
1.缓冲区满的时候
2.遇到换行符的时候
3.需要输入的时候
1.缓冲区满的时候
2.遇到换行符的时候
3.需要输入的时候