Hallo,
wie kann man in C eine Verzögerung programmieren? Ich möchte einen Text ausgeben, dann soll eine Verzögerung von 2 Sekunden stattfinden und dann eine weitere Textausgabe.
Ich habe gehört dass es da eine Art sleep-Befehl gibt, den aber leider nicht jeder Compiler unterstützt.
Danke
Seite 1 von 1
Verzögerung In C
Anzeige
#2
geschrieben 22. April 2004 - 09:32
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { sleep ( 2 ); }
das funktioniert mit dem gcc
meine gcc version:
mo@xomo:~$ gcc -v
Lese Spezifikationen von /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Konfiguriert mit: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread-Modell: posix
gcc-Version 3.3.3 (Debian 20040401)
I'm mó. mo's good twin.
#3
geschrieben 22. April 2004 - 09:42
Danke für die schnelle Antwort!
kannst du mir auch sagen wie man das unter Windows programmiert? Verwendet wird die Visual C++ Entwicklungsumgebung. Die kennt den sleep-Befehl leider nicht.
kannst du mir auch sagen wie man das unter Windows programmiert? Verwendet wird die Visual C++ Entwicklungsumgebung. Die kennt den sleep-Befehl leider nicht.
#4
geschrieben 22. April 2004 - 17:52
Du kannst doch die WinAPI sleep() verwenden, dazu musst du nur windows.h inkludieren:
VOID Sleep(DWORD milliseconds)
#include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { cout<<"start"<<endl; Sleep(2000); cout<<"ende"; return 0; }
VOID Sleep(DWORD milliseconds)
Du brauchst einen USB-Stick? Weißt aber nicht welchen? Dann schaue hier:
USB Stick Test 2014 - Stick-Tester.de
Oder eine externe Festplatte?
Externe Festplatte Test - der große Test zu externen Festplatten
USB Stick Test 2014 - Stick-Tester.de
Oder eine externe Festplatte?
Externe Festplatte Test - der große Test zu externen Festplatten
#5
geschrieben 23. April 2004 - 07:59
@Franz1299
Bist du dir sicher das ich das so eingeben muss? Da kommt nämlich ne Fehlermeldung:
Wenn ich die Headerdatei "Windows" inkludiere ist doch das Programm nicht mehr "reines" DOS-kompatibel oder? Also ich mein ich kann das Programm nicht mehr im reinen DOS-Modus ausführen?
Sorry - bin C-Anfänger ...
Bist du dir sicher das ich das so eingeben muss? Da kommt nämlich ne Fehlermeldung:
Zitat
------------------Konfiguration: sleep - Win32 Debug--------------------
Linker-Vorgang läuft...
sleep.obj : error LNK2001: Nichtaufgeloestes externes Symbol _sleep
Debug/sleep.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
sleep.exe - 2 Fehler, 0 Warnung(en)
Linker-Vorgang läuft...
sleep.obj : error LNK2001: Nichtaufgeloestes externes Symbol _sleep
Debug/sleep.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
sleep.exe - 2 Fehler, 0 Warnung(en)
Wenn ich die Headerdatei "Windows" inkludiere ist doch das Programm nicht mehr "reines" DOS-kompatibel oder? Also ich mein ich kann das Programm nicht mehr im reinen DOS-Modus ausführen?
Sorry - bin C-Anfänger ...
#6
geschrieben 23. April 2004 - 09:46
Wenn du ein Win32-Projekt erstellst, dann sowieso nicht...
Welche Visual C++-Version hast du denn? Hast du irgendwie mit dem Libraries rumgepfuscht?
Welche Visual C++-Version hast du denn? Hast du irgendwie mit dem Libraries rumgepfuscht?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#7
geschrieben 23. April 2004 - 10:16
Wenn ich ein Win32-Projekt erstell dann gehts. Aber das ist eigentlich nicht Sinn der Sache. Das Programm sollte komplett in C (nicht in C++) und unter DOS ausführbar sein.
Ich hab die Version: Visual C++ 6.0. An den Libraries bzw. Headerdateien hab ich gar nix gemacht -> alles im Zustand wie frisch nach der Installation.
Gibt es keine andere Möglichkeit nen Zeitgeber zu programmieren?
Ich hab die Version: Visual C++ 6.0. An den Libraries bzw. Headerdateien hab ich gar nix gemacht -> alles im Zustand wie frisch nach der Installation.
Gibt es keine andere Möglichkeit nen Zeitgeber zu programmieren?
#8
geschrieben 23. April 2004 - 10:35
<include stdlib.h>
_sleep(unsigned long);
mich sollte es aber eher wundern, wenn man mit VC++6 überhuapt noch DOS-Programme erzeugen könnte... ich denke eher du meinst Win32-Konsolenprogramme, da aber kannst du problemlos Win32-Calls verwenden. Im übrigen scheint mir, daß du vergessen hast, für die Win32-Sleep-Funktion ebenfalls die stdlib.h einzubinden.
_sleep(unsigned long);
mich sollte es aber eher wundern, wenn man mit VC++6 überhuapt noch DOS-Programme erzeugen könnte... ich denke eher du meinst Win32-Konsolenprogramme, da aber kannst du problemlos Win32-Calls verwenden. Im übrigen scheint mir, daß du vergessen hast, für die Win32-Sleep-Funktion ebenfalls die stdlib.h einzubinden.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#9
geschrieben 23. April 2004 - 10:59
OK - Super, funktionert! Es lag also am Unterstrich?
#10
geschrieben 23. April 2004 - 11:12
Nein, es liegt daran, daß Sleep() auf _sleep() verweist und du dank fehlendem Include diese Referenz nicht aufgelöst hattest. Mit stdlib.h ud windows.h im Include dürfte auch Sleep() problemlos funktionieren.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#11
geschrieben 23. April 2004 - 11:18
OK - Wieder was dazugelernt. Auf jeden Fall danke für deine Antworten B)
Thema verteilen:
Seite 1 von 1