红联Linux门户
Linux帮助

linux下printf实现不换行打印(printf显示不加换行的缓冲问题)

发布时间:2016-04-09 10:48:26来源:linux网站作者:YOTTA2048

在学习调试linux的程序时,发现了一个加换行(\n)会实时显示,不加换行则会卡住最后一起显示的情况。
只要把printf(“1”);改成printf(”1\n”);
printf(”2”)改成printf(“2\n”);
1.强制刷新标准输出缓存fflush(stdout);
2.放到缓冲区的内容中包含/n;
3.缓冲区已满;
4.需要从缓冲区拿东西到时候,如执行scanf;


例程:

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

int main(void){
int n = 240;
while (n--){
if (n%60 == 0)
printf("*");
printf("#");
fflush(stdout);
}
while (1);
return 0;
}


本文永久更新地址:http://www.linuxdiyf.com/linux/19637.html