ANSI C 不允许在固定时间段后在同一位置打印每个字符吗?
我正在尝试生成要在控制台上打印的随机数。我在 Linux 上用 C 语言编程。我想在每个数字一秒的时间间隔后在一个地方打印所有数字。
我正在使用 sleep()
来停止“时间间隔”。我尝试了 \b
、\r
,但都不起作用。
我只是想让它运行,例如:
for (i = 0; i < 10; i++) {
printf("%d", i);
sleep(1);
printf("\b");
}
I am trying to generate random numbers to be printed on the console. I am programming in C on Linux. I wanted to print all the numbers at a single place after a time interval of a second for each number.
I am using sleep()
for stopping a 'time interval'. I tried \b
, \r
and all but none works.
I just wanted this to run, for example:
for (i = 0; i < 10; i++) {
printf("%d", i);
sleep(1);
printf("\b");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
stdout 可能已缓冲,因此刷新它。
stdout is probably buffered, so flush it.
最简单的答案可能是使用 ncurses:
使用
gcc 编译-o 计数器 counter.c -lncurses
。The easiest answer is probably to use ncurses:
Compile with
gcc -o counter counter.c -lncurses
.