termios canonical-mode ohne ausgabe des newline-Zeichens



  • Hallo zusammen,

    Ich arbeite gerade an einem Forth-Interpreter. Anders als üblich unter Linux wird nach Eingabe einer Zeile und bestätigen mit Return keine neue Zeile begonnen. Die Ausgabe wird hinten angehängt und endet mit einem ok oder einer Fehlermeldung.

    > Eingabe Ausgabe ok

    und nicht

    > Eingabe
    Ausgabe

    Somit fällt der canonical Modus mit den Standardeinstellungen weg. Gibt es eine Möglichkeit die Ausgabe des mewline-Zeichens zu unterbinden? Ohne gleich in den non-cononical Modus zu wechseln?

    Und wenn nicht, wie bekomme ich dann im non-canonical Modus die Backspace Taste wieder zum laufen?

    Danke,

    Martin



  • Hmm...ANSI-Escape-Codes?

    #include <stdio.h>
    #include <string.h>
    
    int main(void) {
      char buf[128];
    
      printf("Eingabe: \x1b[s");
      fgets(buf, 128, stdin);
      printf("\x1b[u\x1b[%dC", (int) strlen(buf));
      puts("ok");
    
      return 0;
    }
    

    scanf direkt geht auf die Art nicht, aber es gibt ja sscanf.


Anmelden zum Antworten