您的位置:首页 > 运维架构 > Linux

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

2015-11-25 14:12 603 查看
在学习调试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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: