Pausen in Endlosschleife



  • Also ich habe Folgendes Problem:

    ich habe eine Endlosschleife die bei jedem ausführen eine bestimmteZeit warten soll
    ich habe das bis jetzt mit einer sleep () anweisung gelöst aber mit der kann ich nicht weniger als eine Sekunde abwarten ich bräuchte also eine Funktion die mir eine Pause von 0.5 Sekunden oder so erstellt.

    Ich hoffe ich hab das jetzt gut genug erklärt
    (ich programmiere erst ein halbes Jahr)



  • Sleep erwartet doch Millisekunden als Parameter...



  • Mit ctime wohl sowas (bin mir nicht sicher, ob die Namen stimmen):

    std::clock_t start = std::clock ();
    while (static_cast<double> (std::clock () - start) / CLOCKS_PER_SECOND < 0.5)
        ;
    


  • Sleep erwartet doch Millisekunden als Parameter...

    Nein das nimmt ganze Sekunden

    @filmor

    Kann ich den wert da jetzt noch ändern denn wenn ich das:

    while (static_cast<double> (std::clock () - start) / CLOCKS_PER_SECOND <0.5)
    

    auf:

    while (static_cast<double> (std::clock () - start) / CLOCKS_PER_SECOND <1)
    

    Ändere ändert sich die der Zeitintervall nicht



  • Hat sich erledigt

    Ich habs geändert:

    while (static_cast<double> (std::clock () - start) - CLOCKS_PER_SECOND <100)
    

    Jetzt ist es perfekt!!

    😃 😃 Vielen Dank!


Anmelden zum Antworten