Sleep-Funktion in Windows mit C

Lesezeit: 2 Minuten

Benutzeravatar von Ariyan
Ariya

Ich muss mein Programm in Windows in den Ruhezustand versetzen. Welche Header-Datei hat die Sleep-Funktion?

Verwenden:

#include <windows.h>

Sleep(sometime_in_millisecs); // Note uppercase S

Und hier ist ein kleines Beispiel, das mit kompiliert MinGW und hält was es verspricht:

#include <windows.h>
#include <stdio.h>

int main() {
    printf( "starting to sleep...\n" );
    Sleep(3000); // Sleep three seconds
    printf("sleep ended\n");
}

  • “42374 mal angesehen” – also hatten offensichtlich viele Leute da draußen auch diese Frage (und woher sollte ich wissen, dass ich “msdn” für meine Google-Suche voranstellen muss, wenn ich im Moment hauptsächlich etwas Linux/POSIX-Programmierung mache?)

    – mozzbozz

    8. Oktober 2014 um 17:26 Uhr

SleepEx Funktion (vgl http://msdn.microsoft.com/en-us/library/ms686307.aspx) ist die beste Wahl, wenn Ihr Programm direkt oder indirekt Fenster erstellt (z. B. einige COM-Objekte verwendet). In den einfachsten Fällen können Sie auch verwenden Sleep.

MSDN: Header: Winbase.h (einschließlich Windows.h)

  • Wenn ich windows.h einschließe, gibt mein Compiler “Fehler: Parametername ausgelassen” und “Fehler: erwarteter Ausdruck vor ‘,’ Token” aus.

    – Ariya

    31. Juli 2010 um 17:40 Uhr


  • @Snigger Posten Sie ein kurzes Beispiel, das dies demonstriert, und teilen Sie uns mit, welchen Compiler Sie verwenden.

    anon

    31. Juli 2010 um 17:42 Uhr

  • #include void writeData(result * res ,char OUT){} int main(){ return 1; } gibt ” Fehler: erwartet ‘)’ vor ‘‘ token” und ich benutze GCC (mingw)

    – Ariya

    31. Juli 2010 um 17:48 Uhr

  • @Snigger Ihr Programm deklariert den Typ “Ergebnis” nicht – nichts mit Windows oder Sleep zu tun. und es gibt nicht die Fehlermeldungen, die Sie gesagt haben (es gibt andere).

    anon

    31. Juli 2010 um 17:58 Uhr


  • Dies ist KEINE Diskussion/Kommentar zu meiner Antwort. Dies ist eine völlig tangentiale Diskussion, die in ihre eigene Antwort gehört.

    – abelenky

    31. Juli 2010 um 19:55 Uhr

Benutzeravatar von user2876907
Benutzer2876907

Fügen Sie die folgende Funktion am Anfang Ihres Codes ein, wenn Sie beschäftigt warten möchten. Dies unterscheidet sich vom Ruhezustand, da der Prozess während der Ausführung dieser Funktion 100 % der CPU nutzt.

void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock())
        ;
}

Beachten Sie, dass der Name sleep für diese Funktion ist irreführend, da die CPU überhaupt nicht schläft.

1407500cookie-checkSleep-Funktion in Windows mit C

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy