我是C编程的新手,我希望在一行上进行倒计时,例如,像这样:
Time left: n
其中n
将是该行更新的唯一部分。
我在谈论命令行编程。我知道如何倒计时,我只需要帮助将它保持在一行并动态更新该行。
答案 0 :(得分:6)
您可以使用\r
将光标返回到行的开头并覆盖该行。所以:
for (int i = 10; i > 0; i--) {
printf("\rCountdown: %d ", i);
fflush(stdout);
sleep(1);
}
printf(" done.\n");
fflush(stdout);
是必需的,因为默认情况下,stdout
仅在其输出缓冲区已满或者输出\n
时自行刷新。