Zum Inhalt springen

Escape-Taste unter C abfragen


skiddoo

Empfohlene Beiträge

ooooder:

versuch doch mal, die escape-funktion in ascii umzusetzen (welcher wert ist das noch mal???)

dann müsste der syntax sinngemäß lauten:

escapewert = CHR$(xy)

(getch(escapewert))

oder so, halt irgendwie, halt irgenwie auchnicht? ach weiss, nicht, war eh nur geraten :-)

nein, doch nicht...

verwirre ich dich jetzt?????

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Mohammed,

das Problem ist in der Tat nicht ganz so einfach. In C ist es naemlich so, dass der Eingabepuffer bei Consoleneingaben erst eingelesen wird, sobald ein "return" ausgeloest wird.

Also das Beispiel unten verwendet getchar() und erkennt ESC, wenn erst ESC und dann Return gedrueckt wird.

Wenn das Programm auf alleiniges Druecken von ESC reagieren soll, dann brauchst Du eine Funktion, die Tastaturevents registriert. Solche Funktionen gehoeren aber nicht zum Umfang der Sprache C, sondern sind betriebssystemabhaengige Bibliotheksfunktionen Deines Compilers. Beispielsweise bietet Borland dafuer kbhit() an. Verwendest Du solche Funktionen, verlierst Du aber die ANSI-C-Kompatibilitaet.

/*

ANSI-C-Testdatei fuer Mohammed

*/

#include <stdio.h>

int main()

{

char esc = getchar();

if (esc==27)

printf("das war ein escape");

else

printf("das war kein escape");

return 0;

}

hope this helps

Uli

------------------

Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Webentwickler,

Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. wink.gif

Uli

------------------

Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen

Link zu diesem Kommentar
Auf anderen Seiten teilen

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen:

Hi Webentwickler,

Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. wink.gif

Uli

Link zu diesem Kommentar
Auf anderen Seiten teilen

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen:

Hi Webentwickler,

Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. wink.gif

Uli

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo maddin,

Comperoptimierungen kann man NICHT an Quelltextdateien erkennen, denn das Erzeugnis eines Compilers ist kein Quelltext, sondern ein executable binary; Du muesstest also einen Vergleich der Maschinenbefehle vornehmen, um eine Aussagen treffen zu koennen. Was DEIN Compiler macht, sagt auch nicht viel darueber aus, was ANDERE Compiler machen oder machen duerfen.

Uli

------------------

Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen

Link zu diesem Kommentar
Auf anderen Seiten teilen

schon richtig, bloß sprach ich anfangs von der lesbarkeit des quellcodes.

du hatest mit der optimierung beim compilieren geantwortet.

was ich dir damit bloß sagen wollte ist, dass es trotz gut optimierten code auch auf einen verständlich geschriebenen quellcode ankommt. schließlich lese ich, wenn ich wissen will, was ein programm macht den quellcode und nicht die binary.

------------------

mfg maddin

Link zu diesem Kommentar
Auf anderen Seiten teilen

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von maddin:

was ich dir damit bloß sagen wollte ist, dass es trotz gut optimierten code auch auf einen verständlich geschriebenen quellcode ankommt. schließlich lese ich, wenn ich wissen will, was ein programm macht den quellcode und nicht die binary.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...