Zeitverzögerung in C++
-
Hy,
ich bin noch totaler Anfänger in C++.
Deswegen meine Frage:
Wie kann ich mit dem Befehl "Clock" ein Programm zeitverzögert ablaufen lassen.
Beispiel:1.Programm wird aufgerufen
2.warte 10 sekunden
3.starte jetzt z.B. eine SchleifeDanke im voraus!
-
Mit "Clock"???
hm...:void Clock(int Time) { Sleep(Time) }
-
windows: Sleep
linux und konsorten: sleep
dos (nicht win-konsole): delay
-
???? schrieb:
Mit "Clock"???
hm...:#include <time.h> #include <stdio.h> void DelayAndBurnProcessorCycles (clock_t milliseconds) { clock_t end = CLOCKS_PER_SEC * (clock() + milliseconds); while (1) if (end <= CLOCKS_PER_SEC * clock()) break; } int main() { while (1) { putchar ('.'); DelayAndBurnProcessorCycles (1000); } }
-
Danke,
@volkart:
aber könntest du mir beschreiben was dein Quelltext genau macht.
Wie gesagt, ich bin totaler Anfänger!!!!!!
-
er schläft 1000 ms und benötigt währenddessen cpu-leistung.
-
Also ich kenne noch _sleep(); // schluckt milliseconds
-
[quote="volkart]
[...][...] void DelayAndBurnProcessorCycles (clock_t milliseconds) { clock_t end = CLOCKS_PER_SEC * (clock() + milliseconds); while (1) if (end <= CLOCKS_PER_SEC * clock()) break; } [...]
[/quote]
Warum hier ne Endlosschleife? Vom stil her ist doch
while (end > CLOCKS_PER_SEC * clock()) { /* tue nichts */ }
besser.
aber Sleep, sleep und wie sie alle heißen sind doch eigentlich vorzuziehen, wenn man keine Zeitkritischen Anwendungen schreibt.MfG
DDR-RAM