printf输出缓存问题

    xiaoxiao2021-04-14  37

    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);
    转载请注明原文地址: https://ju.6miu.com/read-670633.html

    最新回复(0)