Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

_sleep() in c

matthew76 / 20 Antworten / Flachansicht Nickles

guden,


Folgende Frage:


Ich will in C mit der _sleep() Funktion einen Text 5 sek ausgeben.


zB. wenn jmd. eine falsche Eingabe gemacht hat, kommt 5 Sek die Fehlermeldung "Eingabe Fehlerhaft"und verschwindet wieder.


Ich weiß das man dies mit der if() Funktion programmieren kann aber wie?


Das der Text nach 5 sek. erscheint habe ich hinnbekommen, aber dies war nicht mein Ziel. Ich weiß das es möglich ist, aber nicht wie.


Mein Versuch:


#include <stdio.h>


int main()


{


_sleep(5000);


printf("input incorrectly");


return 0;


}


 


Bitte um Rückantworten


Mit freundlichen Grüßen

bei Antwort benachrichtigen
vergisses matthew76 „Schade das niemand weiß wie man das lösen kann. Ich musste es nun etwas anders...“
Optionen

Hallo matthew,

das können wir natürlich nicht auf uns sitzen lassen ;-)

Du mußt eine Terminal Emulation mit Escape Sequencen benutzen.
Abhängig vom Betriebsystem sieht die Lösung etwas unterschiedlich aus.

MS-DOS:
Du mußt Du den Treiber ANSI.SYS laden.
(device=ansi.sys) in der config.sys.
Danach kannst Du über entsprechende Escape Sequencen zum
Positionieren des Curses, Löschen von Zeilen, Buchstaben bzw.
Bildschirmbereichen verwenden.
Die Escape Sequencen werden mit einfachen printf´s ausgegeben.

UNIX:
Hier hast Du ohnehin eine Terminalemulation aktiv.
Welche, kannst Du z. B. über Abfragen der Environment
Variable $TERM erfahren.
Die einfache, aber nicht empfohlene Methode sieht so aus:
mit "infocmp" die Escape Sequencen anzeigen lassen (Sind Memnonics)
und wie bei DOS mit printf verwenden.

Besser: Programmieren mit der Curses Lib (man curses).
Tip: Die Curses Lib gibt es auch in diversen DOS Implementierungen.
Wenn Du etwas sorgfältig programmierst, sollte Dein Source Code
bei Verwendung von Curses sogar zwischen DOS und UNIX kompatibel sein.


Gruss, vergisses

bei Antwort benachrichtigen
_sleep() in c martinx24