我正在尝试生成要在控制台上打印的随机数。我在 Linux 上用 C 语言编程。我想在每个数字的一秒时间间隔后在一个地方打印所有数字。
我正在使用sleep()
停止“时间间隔”。我试过了\b
,\r
但没有任何效果。
我只是想让它运行,例如:
for (i = 0; i < 10; i++) {
printf("%d", i);
sleep(1);
printf("\b");
}
stdout 可能已缓冲,因此请刷新它。
for(i=0;i<10;i++)
{
printf("%d",i);
fflush(stdout);
sleep(1);
printf("\b");
}
最简单的答案可能是使用ncurses:
#include <ncurses.h>
int main()
{
int i;
initscr(); /* Start curses mode */
for (i=0;i<10;i++) {
mvprintw(0,0, "%d", i); /* coords 0,0 */
refresh(); /* Update screen */
sleep(1);
}
getch(); /* Wait for user input */
endwin(); /* End curses mode */
return 0;
}
用 编译gcc -o counter counter.c -lncurses
。