C++, Отслеживающий того, сколько секунды передали с тех пор, запускается программы

Для тех из Вас с опытом VB.NET, (тип) совпадает с DirectCast и, "как тип" совпадает с TryCast.

12
задан Noob 14 November 2009 в 19:24
поделиться

4 ответа

#include <stdio.h>
#include <time.h>
#include <windows.h>
using namespace std;
void wait ( int seconds );
int main ()
{
  time_t start, end;
  double diff;
  time (&start); //useful call
  for (int i=0;i<10;i++) //this loop is useless, just to pass some time.
  {
  printf ("%s\n", ctime(&start));
  wait(1);
  }
  time (&end);//useful call

  diff = difftime(end,start);//this will give you time spent between those two calls.
  printf("difference in seconds=%f",diff); //convert secs as u like
  system("pause");
  return 0;
}
void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLOCKS_PER_SEC ;
  while (clock() < endwait) {}
}

это должно нормально работать и на solaris / unix, просто удалите ссылки на win

1
ответ дан 2 December 2019 в 03:48
поделиться

Вам просто нужно сохранить дату / время запуска приложения. Всякий раз, когда вам нужно отобразить, как долго работает ваша программа, получите текущую дату / время и вычтите время запуска приложения.

0
ответ дан 2 December 2019 в 03:48
поделиться

Вы приближаетесь к нему задом наперед. Вместо того, чтобы иметь переменную, вам нужно беспокоиться об обновлении каждую секунду, просто инициализируйте переменную при запуске программы текущим временем, а затем, когда вам нужно знать, сколько секунд прошло, вы вычитаете текущее текущее время из этого начального времени. Таким образом, гораздо меньше накладных расходов и не нужно заботиться о некотором обновлении переменных, связанных со временем.

4
ответ дан 2 December 2019 в 03:48
поделиться

Очень простой метод:

#include <time.h>
time_t start = time(0);

double seconds_since_start = difftime( time(0), start);

Главный недостаток этого метода состоит в том, что вам нужно запрашивать обновления. Для этого вам понадобится поддержка платформы или какая-то другая библиотека / фреймворк.

23
ответ дан 2 December 2019 в 03:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: