C语言中sleep()和'\b'的问题
下面这段代码只有最下面的\b换成\n时(去掉注释)才会正常显示如果直接就这样编译,程序会在执行开始3秒后一次性输出123然后结束
如果去掉退格键的注释标志,程序会在3秒后直接结束
这个还如何改进才能达到顺序输出1消失2消失3消失呢?
#include <stdio.h>
#include <unistd.h>
int main()
{
for(int i = 0; i < 3; i++)
{
printf("%d", i+1);
sleep(1);
// usleep(300000);
// printf("\b");
}
return 0;
}
在Linux环境中 已解决,在第一个printf ()后面紧跟一个fflush (stdout);即可。
以前在哪看到Linux下GCC编译器无法用fflush(stdin)清除输入缓冲区,没想到还能这么用
页:
[1]