printf输出函数,每执行一个printf输出函数,输出的数不是“肯定立刻”打印到屏幕上的,只有遇到一下几种情况时,printf输出的数据(执行了printf,但还没有打印到屏幕的数据)才会全部打印到屏幕上:
1、有输入请求的时候,会立马输出到屏幕
2、输出有换行符的时候,也会马上输出到屏幕上
3、程序结束的时候也会马上输出到屏幕上
4、输出缓冲区满的时候
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);
printf输出缓存问题
最新推荐文章于 2025-03-23 20:20:48 发布