Delay C++?

...komplette Frage anzeigen

3 Antworten

Außerhalb der Schleife DEKLARIERST du die Variable und INITIALISIERST sie mit dem Wert 0:

int delay_time = 0;

Innerhalb der Schleife vergrößerst du sie um 1000. Dabei musst du den Datentyp natürlich weglassen, sonst wärest du nämlich im Begriff, die Variable erneut zu deklarieren.

delay_time += 1000;

Soll auch noch gewartet werden oder nur dazu gezählt?

Dafür nimmst plattformübergreifend einfach sleep_for oder sleep_until aus dem std::this_thread Namensraum, den es seit C++11 gibt:

http://www.cplusplus.com/reference/thread/this_thread/sleep_for/

Auf der verlinkten Seite tut der Beispielcode zufällig genau das, was du gefragt hast, also spare ich mir jetzt zusätzliche Codebeispiele. :)

Viel Spaß! :)

willst du nur zählen oder soll auch immer eine Sekunde dazu passen gewartet werden?

https://msdn.microsoft.com/en-us/library/windows/desktop/ms686298(v=vs.85).aspx


für unix müsste es nanosleep sein https://linux.die.net/man/2/nanosleep , was usleep abgelöst hat

TeeTier 08.07.2017, 12:03

Falls der Compiler nicht veraltet ist, kann man auch ruhig die plattformübergreifende Variante mit sleep_for() nehmen. Siehe dazu meine Antwort! :)

1

Was möchtest Du wissen?