在c中打印更新变量

时间:2011-11-24 12:03:31

标签: c variables printing timer

我需要在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!

3 个答案:

答案 0 :(得分:1)

尝试替换

printf(“TIME:%d \ n”,(完成 - 开始));

通过

printf(“TIME:%d \ r”,(完成 - 开始));

答案 1 :(得分:1)

也许你想要

printf("TIME : %d\r", (finish-start));
fflush (stdout);

但对于更复杂的命令和面向终端的I / O,请考虑使用ncurses

答案 2 :(得分:1)

如果您使用的是Windows,请查看SetConconsoleCursorPosition

如果您使用支持ncurses的系统,请使用它。

或者,更加hackish,但如果它适用于您的系统,那很容易,在printf中使用\b转义:

printf("%2d", i);

delay(400);

printf("\b\b");