linux下除非碰到换行符(\n),否则会等到缓冲区满才会输出。
如下程序,不会隔1秒输出,而是在10秒后,一起输出显示
for(int i=0;i<10;i++)
{
printf("[Downlaod %d]",i);
usleep(1000*1000);
}
写成这样才会隔一秒显示输出
for(int i=0;i<10;i++)
{
printf("[Downlaod %d]\n",i);
usleep(1000*1000);
}
或者,在每次printf后加
fflush(stdout);