nu-fg Geschrieben 30. Juni 2003 Geschrieben 30. Juni 2003 Hi! Ich brauche eine Schleife in C oder C++, die eine vorgegebene Zeit (30 sec.) auf eine Benutzereingabe wartet (beliebige Taste). Ausgehend davon ob der Benutzer in diesen 30 sec. eine Taste drückt oder die Zeit verstreichen lässt werden unterschiedliche Funktionen aufgerufen. Hat jemand eine Idee??? Schönen Gruß und Danke!
Stevie Geschrieben 30. Juni 2003 Geschrieben 30. Juni 2003 Try this: #include <conio.h> #include <stdio.h> #include <time.h> void main() { long Ticks = clock(); int Key = 0; while (clock() < (Ticks + 30000)) { if (kbhit()) { Key = getch(); break; } } if (Key) printf("Key %d pressed\n", Key); }[/php]
Shadax Geschrieben 1. Juli 2003 Geschrieben 1. Juli 2003 Original geschrieben von Stevie while (clock() < (Ticks + 30000)) { [/php] clock_t clock(void); This function returns the number of clock ticks since an arbitrary time, actually, since the first call to clock, which itself returns zero. The number of tics per second is CLOCKS_PER_SEC.
nic_power Geschrieben 2. Juli 2003 Geschrieben 2. Juli 2003 Hallo, in Standard-C funktioniert das nicht, da Benutzereingaben blockieren. Für welches Betriebssystem entwickelst Du denn? Unter Unix liesse sich das beispielsweise über einen Signal-Handler realisieren, der über ein Sigalarm aufgerufen wird. Nic
nu-fg Geschrieben 3. Juli 2003 Autor Geschrieben 3. Juli 2003 Hi! Ich habe Windows NT oder XP mit dem Visual Studio zur Verfügung. Leider keine Chance das unter Unix zu machen ;-) Gruß, fg
Stevie Geschrieben 4. Juli 2003 Geschrieben 4. Juli 2003 Ich hab's mit MSVS 6 auf WinNT ausprobiert und es klappt. Ich versteh nicht, was ihr für ein Problem habt!?
nic_power Geschrieben 4. Juli 2003 Geschrieben 4. Juli 2003 Hallo, Original geschrieben von Stevie Ich hab's mit MSVS 6 auf WinNT ausprobiert und es klappt. Ich versteh nicht, was ihr für ein Problem habt!? Das Problem ist, dass die Fragestellung nur plattformabhängig gelöst werden kann, Der gepostete läuft damit nicht unter Linux/Unix usw. Ohne Angabe der Zielplattform (fehlt im ersten Artikel), läßt sich also keine brauchbare Lösung formulieren. Nic
nu-fg Geschrieben 4. Juli 2003 Autor Geschrieben 4. Juli 2003 Hi! OK,Plattform hatte ich im ersten Beitrag versgessen :eek: Sollte es jetzt endgültig unter NT/VS implementieren und damit hat die Lösung von Stevie geklappt. Danke und schönen Gruß fg
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden