Hogyan lehet C++-ban adott ideig futó cilus-t létrehozni?
Ha nem érted majd a következő kommentelő elmagyarázza :D
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
while (true)
{
static DWORD startTime = GetTickCount(); // GetTickCount() - Vissza adja hány milliszekundum óta fut a gép
DWORD currentTime = GetTickCount() - startTime;
if (currentTime > 1000)
break;
std::cout << "RUNNING" << std::endl;
}
return 0;
}
A ciklus indítása előtt megnézed a jelenlegi időt:
auto startTime = std::chrono::high_resolution_clock::now();
A ciklus feltételeként pedig megszabod, hogy addig legyen igaz, amíg elnem telik az egy másodperc:
while( std::chrono::high_resolution_clock::now()-std::chrono::seconds(1) < startTime ) {
}
(Ezeket az objektumokat a <chrono> headerben találod)
Itt egy teljes példa kód:
#include <iostream>
#include <chrono>
#include <thread>
int main()
{
auto startTime = std::chrono::high_resolution_clock::now();
while( std::chrono::high_resolution_clock::now()-std::chrono::seconds(1) < startTime ) {
std::cout << "doing stuffs" << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
}
!!Ne felejtsd el beállítani a fordítódba a 2011-es szabányt!!Pl: g++ main.cpp -o main -std=c++11
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!