我需要在c中制作一个计数器,而且我有一个类似于noobish的问题。这是我的代码:
time_t start = time((time_t *) NULL);
time_t finish = start;
while((finish-start) < 5){
finish=time((time_t *)NULL);
printf("TIME : %d\n", (finish-start));
}
printf("TIMER HAS STOPED !");
我想要的是显示(完成 - 开始)的值类似:TIMER:值,根据变量更新“值”,但是我在屏幕上保留了什么“TIMER”并且只有值更新。就像现在一样,它在屏幕上写下TIME:值约100万次。 Thx提前:X!
答案 0 :(得分:1)
尝试替换
printf(“TIME:%d \ n”,(完成 - 开始));
通过
printf(“TIME:%d \ r”,(完成 - 开始));
答案 1 :(得分:1)
答案 2 :(得分:1)
如果您使用的是Windows,请查看SetConconsoleCursorPosition。
如果您使用支持ncurses的系统,请使用它。
或者,更加hackish,但如果它适用于您的系统,那很容易,在printf中使用\b
转义:
printf("%2d", i);
delay(400);
printf("\b\b");