Zeichen direkt einlesen?



  • Hallo gibt es eine Funktion mit der ich ein Zeichen direkt ohne Bestätigung mit der Returntaste einlesen kann?



  • In Ansi C nicht, aber in Systembibliotheken wie conio (man: getch()).



  • Warum ist sowas nicht in ANSI C? C wird doch oft für Hardwarezeugs verwendet. Da gibts doch viele Automaten die keine Entertaste haben.



  • Weil C möglichst unabhängig von der drunterliegenden Hardware sein soll - da wird die Eingabe nur über das "FILE* stdin;" vorgesehen und das System kümmert sich dann darum, wie die Daten dort reinkommen.
    (es gibt auch Systeme und Konstellationen, bei denen stdin NICHT einmal mit der Tastatur verbunden ist ;))



  • hämbürger schrieb:

    Warum ist sowas nicht in ANSI C? C wird doch oft für Hardwarezeugs verwendet. Da gibts doch viele Automaten die keine Entertaste haben.

    dort werden dann eigene I/O funktionen benutzt und kein 'fgets' oder sowas.
    ursprünglich kommt C von UNIX und da ist alles eine datei, deshalb verhält sich die standard-i/o von C so merkwürdig (FILE*-orientiert).
    🙂


Log in to reply