Ich muss mein Programm in Windows in den Ruhezustand versetzen. Welche Header-Datei hat die Sleep-Funktion?
Sleep-Funktion in Windows mit C
Ariya
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
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.