Probleme mit Time Funktion



  • Hallo,
    ich benutze zur Zeit die unten stehende Zeit Funktion wenn ich für delay 1 eingebe dann dauert sie 1 Sek. Bei 2 -> 2Sek. usw. Doch wenn ich für delay 0.5 oder 0.05 eingebe dauert sie auch eine Sekunde.
    Das ist mein Problem ich bräuchte eine Funktion die auch im Millisekundenbereich arbeitet.
    Bitte um Hilfe

    #include <iostream.h>
    #include <time.h>

    void main {
    double delay;
    time_t start, finish;

    time(&start);
    do {
    time(&finish);

    }
    while (difftime(finish, start) < delay);
    cout << "Zeit um"<<endl;
    }



  • hi,

    hmm bitte tue mir den gefallen und benutze das nächste mal die code tags

    so könnte es gehen

    #include <ctime>
    void my_delay(unsigned long ms)
    {
      using namespace std;
    
      clock_t start, ende;
    
      start = clock();
    
      while( ( ((ende = clock() ) - start ) / ( CLOCKS_PER_SEC / 1000) ) < ms );
    }
    

    MfG



  • In einem echten Programm kommt das aber nicht so gut, bremst nämlich total den Prozessor aus.
    Lieber die Betriebssystemfunktion verwenden: Sleep() unter windows, nanosleep() bei POSIX.


Anmelden zum Antworten