печать переменной обновления в c - PullRequest
1 голос
/ 24 ноября 2011

Мне нужно сделать счетчик в с, и у меня возникла разновидность нубийского вопроса. Вот мой код:

 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 !");

Что мне нужно, чтобы показать значение (финишный старт) Как: ТАЙМЕР: значение, при этом значение обновляется в соответствии с переменными, но в то же время ТАЙМЕР остается на экране, и только Обновить. Как сейчас, он пишет TIME: значение около 1 миллиона раз на экране. Спасибо заранее: X!

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

Возможно, вы хотите

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

Но для более сложных операций ввода-вывода, ориентированных на команды и терминалы, рассмотрите возможность использования ncurses

1 голос
/ 24 ноября 2011

Если вы используете Windows, взгляните на SetConconsoleCursorPosition .

Если вы работаете в системах, которые поддерживают ncurses , используйте его.* Или, более хакерский, но если он работает в вашей системе, это очень просто, используйте \b escape в printf:

printf("%2d", i);

delay(400);

printf("\b\b");

1 голос
/ 24 ноября 2011

попробуй заменить

printf («ВРЕМЯ:% d \ n», (финишный запуск));

от

printf («ВРЕМЯ:% d \ r», (конечный запуск));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...