Zeitverzögerung
-
Ich habe ein problem mit folgendem Code
//zeit.h //Zur verzögerung von Ereignisen #ifndef inc_zeit #define inc_zeit #include <ctime> using namespace std; namespace storm { void sleep(int verz) { //Deklaration time_t start, finish; //start und finish der Zeitmessung //Anfangszeit time(&start); //Zeitmessung beginnt //Schleife für Verzögerung do { time(&finish); //Zeitmessung endet } while(difftime(finish, start) < verz); //solange die verstrichene Zeit, //nicht so groß ist wie die Verzögerung //wird die finish zeitmessung wiederholt. } //Ende Funktion sleep() void sleep_short(int verz) { //Deklaration time_t start, finish; //start und finish der Zeitmessung //Anfangszeit time(&start); //Zeitmessung beginnt //Schleife für Verzögerung do { time(&finish); //Zeitmessung endet } while(((difftime(finish, start))*100) < verz); //solange die verstrichene Zeit, //nicht so groß ist wie die Verzögerung //wird die finish zeitmessung wiederholt. } //Ende Funktion sleep() } //Ende Namespace #endifdie erste funktion funktioniert ohne probleme sie verzögert im sekundenbereich
die zweite jedoch verzögert immer nur um 1s obwohl sie für zeitabstände im ms bereich gedacht ist.
Weiß jemand voans liegt? oder hat einer ne bessere Idee für zeitabstände im ms bereich?
-
time gibt nur Sekunden zurück, was du meinst ist clock ().
-
stimmt!
Da het ich selbst draufkommen können.Danke!!!!!!!