Linux教程

浅谈printf函数在Linux环境下的缓存形式为行缓存

本文主要是介绍浅谈printf函数在Linux环境下的缓存形式为行缓存,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  众所周知printf函数为行缓存,换句话说在写printf的时候如果不在末尾加“\n”的话,printf不会在屏幕上打印出来,验证代码如下(注意:在Linux环境下编译运行;如果在Windows环境下就没问题,本人亲测):

 1 #include <unistd.h>
 2 #include <stdio.h>
 3 
 4 int main(){
 5     int a = 0;
 6     while(1){
 7         printf("%d",a++);
 8         sleep(1);
 9     }
10     return 0;
11 }

  

  如果要在屏幕输出,可以用两种方法:

  1、在printf中加入“\n”

#include <unistd.h>
#include <stdio.h>

int main(){
    int a = 0;
    while(1){
        printf("%d\n",a++);
        sleep(1);
    }
    return 0;
}

  2、加入fflush()函数

 1 #include <unistd.h>
 2 #include <stdio.h>
 3 
 4 int main(){
 5     int a = 0;
 6     while(1){
 7         printf("%d",a++);
 8         fflush(stdout);
 9         sleep(1);
10     }
11     return 0;
12 }

 

这篇关于浅谈printf函数在Linux环境下的缓存形式为行缓存的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!