Я пытаюсь выяснить, как рассчитать время в C++. Я делаю программу, где каждые 3 секунды происходит событие, например, распечатывать «привет» и т. Д .;Как рассчитать время в C++?
1
A
ответ
1
вы можете использовать boost::timer
для расчета времени в C++:
using boost::timer::cpu_timer;
using boost::timer::cpu_times;
using boost::timer::nanosecond_type;
...
nanosecond_type const three_seconds(3 * 1000000000LL);
cpu_timer timer;
cpu_times const elapsed_times(timer.elapsed());
nanosecond_type const elapsed(elapsed_times.system + elapsed_times.user);
if (elapsed >= three_seconds)
{
//more then 3 seconds elapsed
}
3
Вот пример с использованием двух потоков таким образом ваша программа не будет замерзать и this_thread::sleep_for()
в C++ 11:
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;
void hello()
{
while(1)
{
cout << "Hello" << endl;
chrono::milliseconds duration(3000);
this_thread::sleep_for(duration);
}
}
int main()
{
//start the hello thread
thread help1(hello);
//do other stuff in the main thread
for(int i=0; i <10; i++)
{
cout << "Hello2" << endl;
chrono::milliseconds duration(3000);
this_thread::sleep_for(duration);
}
//wait for the other thread to finish in this case wait forever(while(1))
help1.join();
}
0
It зависит от вашего OS/Compiler.
Случай 1:
Если у вас есть C++ 11, то вы можете использовать как предложил Крис:
станд :: this_thread :: sleep_for() // Вы должны включить заголовочный файл нить
Case 2:
Если вы на платформе окон, то вы также можете использовать что-то вроде:
#include windows.h
int main()
{
event 1;
Sleep(1000); // number is in milliseconds 1Sec = 1000 MiliSeconds
event 2;
return 0;
}
случай 3:
на платформе Linux вы можете просто использовать:
сон (в секундах);
Смежные вопросы
- 1. Как рассчитать время для методов в C#
- 2. C# Как рассчитать предстоящее определенное время?
- 3. Рассчитать время работы резьбы в C
- 4. Как рассчитать время?
- 5. Как рассчитать время выполнения
- 6. Как рассчитать время процесса?
- 7. Как рассчитать среднее время
- 8. Как рассчитать время функции?
- 9. Как рассчитать время в android.?
- 10. как рассчитать время в android
- 11. Как рассчитать время запроса?
- 12. Как рассчитать среднее время?
- 13. как рассчитать время выполнения
- 14. Как рассчитать «время до даты»?
- 15. Как рассчитать точное истекшее время
- 16. Рассчитать расчетное время в программе
- 17. Windows: Как рассчитать время выполнения приложения c/C++?
- 18. Рассчитать время обработки
- 19. Как рассчитать время, подобное числам
- 20. C++ - Рассчитать время выполнения функции always = 0?
- 21. Рассчитать время между записями?
- 22. Как рассчитать время для загрузки файла в приложение thorugh C++?
- 23. Как рассчитать GMT Время, основанное на Местном времени в C
- 24. Как рассчитать время, затраченное на один процесс в объективе c?
- 25. C++ ctime.h не будет правильно рассчитать время
- 26. Рассчитать рабочее время/рабочий день C#
- 27. Как рассчитать общее время запроса
- 28. Jmeter - Как рассчитать время отклика?
- 29. Как рассчитать время выполнения (ускорение)
- 30. Как рассчитать прошедшее время функции?
Это зависит от вашей библиотеки обработки событий. Сам C++ не предоставляет какой-либо системы событий, но ни в коем случае система, которую я когда-либо использовал, знает о том, что системное время и дата помогают установить повторяющееся событие. –
Вы всегда можете сделать поток, который выполняет функцию и цикл, спящий три секунды и вызывающий его. Это его обобщает и позволяет повторно использовать. Однако, если я собираюсь это сделать, не торопитесь спать. – chris
Вы не просто ищете функцию [сна] (http://linux.die.net/man/3/sleep)? запустите новую нить и позвольте ей бесконечно зацикливаться, где вы спите в течение 3 секунд и печатаете привет. – A4L