Standardprobleme mit getch()
-
Aber wenn's nicht so Leute geben würde wie mich, die erst posten und dann denken, hätten die Moderatoren ja kaum was zu tun. Sowelche Beiträge wie meinen (im falschen Forum gepostet) muss und wird es immer geben.
-
Naja, sowas passiert halt. Ist ja kein Beinbruch!
Merks dir einfach für zukünftige Fragen und wir sind alle happy
-
Aber pass auf das dir das nicht noch mal passiert, denn wir haben auch noch andere Dinge zu tun als den ganzen Tag Beiträge zu verschieben.
-
#include <windows.h> ... FlushConsoleInputBuffer ( GetStdHandle ( STD_INPUT_HANDLE ) ); // Hier sollte das einlesen dann wieder funktionieren.
MfG SideWinder
-
Danke für die Verschiebungen, tut mir leid, war ja auch schliesslich keine Absicht euch arbeit zu machen um meine in diversen falschen Bereichen geposteten Fragen wieder rauslöschen zu müssen.
Frage1:
Also mit windows.h wollte ich eigentlich nicht arbeiten, sondern eben nur auf der DOS Konsole und dann soll es ja auch als .c Datei noch funzen. Aber trotzdem danke. Gibt es mit diesen Einschränkungen noch Möglichkeiten dieses Problem mit getch() zu beseitigen?Frage2:
Und weiss jemand wie man nen Drucker in C ansteuert, das müsste doch trotzdem gehen (würde mich stark wundern wenn c so eingeschränkt ist das man damit nur Programme 'a la geben sie eine Zahl ein' schreiben könnte, oder is das jetz neuer ANSI-Standard )?Frage3: ist getch() und getche() kein ANSI c?
-
1.) windows.h und FlushConsoleInputBuffer kannst du in einer Konsolenanwendung ohne Probleme einsetzen. Das ganze ist C Code.
2.) mit fopen LTP1 öffnen und dann mit fwrite etwas auf den Drucker schreiben. Aber am besten mit Winapi machen.
3.) Nein, die Funktionen gehören nicht zum Standard.
-
Faszinierend !
Danke für die Antwort, ich hab noch eine Frage dazu, auch wenn es jetz wahrscheinlich irgendwie dieselbe Frage1 ist, und zwar:Kann ich die windows.h dann auch in Programme einbauen die dann auf einem Linux System laufen sollen? Vielleicht habe ich das vorher falsch ausgedrückt, es soll ein Programm werden was auf überall läuft, und die Endung .c enthält, ich kenn die windows.h nur davon, wenn man versucht Sachen zu schreiben die dann auf Fensterbasis oder zumindest als Windows-Anwendung laufen (=API ?), kennt sich nebenbei jemand mit ungetch() aus, wie man die benutzt?
Danke, falls die Fragen zu blöd sind, tuts mir leid, aber als 'Junior' hat man ja noch Narrenfreiheit...
-
Nein, die windows.h kannst du selbstverständlich nicht unter Linux benutzen.
Aber die getch() Funktion gibt es unter Linux auch nicht, jedenfalls beim gcc Compiler nicht. Es ist eben nicht standardisiert.
-
Dank @ <> !
Da ich leider kein Linux hab dachte ich, benutze ich halt mal getch() um von der Tastatur direkt einzulesen, ich wusste das nicht. Gibts da alternativen in c um direkt von der Tastatur einzulesen (hoffe ich stosse jetz damit nicht in einen anderen Bereich des Forums) die dann quasi auf DOS Ebene überall laufen und mit möglichst wenigen Problemen wie etwa Tastaturpuffer o.ä.?
-
Naja, recht viel gibts net.
Die die in der FAQ zu finden sind + C-Standard ( alle Möglichkeiten von scan ) + direkt die WinAPI - aber das willst du ja nicht.
Wenn du aber wirklich mit Puffer und so arbeiten willst ist sie nicht schlecht...
MfG SideWinder