Programmiersprache C/C++

Escape-Steuerfolgen

ANSI-Escape-Steuerfolgen können benutzt werden, um Ein- und Ausgabeverhalten des Rechners zu beeinflussen. Es handelt sich dabei um Zeichenketten, die - wenn sie ausgegeben werden - unsichtbar bleiben, jedoch Attribute des aktuellen Terminals verändern.

Die wichtigsten Escape-Steuerfolgen sind standardisiert und rufen, sofern sie vollständig und korrekt implementiert sind, unter unterschiedlichen Betriebssystemen gleiche Wirkungen hervor. Zu beachten sind dabei natürlich die unterschiedlichen Fähigkeiten der verwendeten Terminals (Voll-Bildschirm oder Fenster).

Escape-Steuerfolgen besitzen folgenden Aufbau:

Eine Escape-Steuerfolge darf keine Leerzeichen enthalten !

Einige wichtige Escape-Steuerfolgen:

  ESC [ 2 J                 Bildschirm löschen
                            mitunter: Cursor auf Position (1,1) setzen
  ESC [ zeile ; spalte H    Cursor auf Position (zeile,spalte) setzen
  ESC [ s                   Cursor-Position speichern
  ESC [ u                   Cursor-Position zurücksetzen
  ESC [ bg ; fg ; fmt m     Bildschirm-Attribute verändern
                            bg   Hintergrundfarbe
                            fg   Vordergrundfarbe
                            fmt  Darstellungsform
                            nicht zu verändernde Attribute können
                            weggelassen werden (einschließlich des 
                            Semikolons als Trennzeichen)
Erläuterungen: Einige weitere Escape-Steuerfolgen
  ESC [ pos A               Cursor pos Postionen noch oben
  ESC [ pos B               Cursor pos Postionen noch unten
  ESC [ pos C               Cursor pos Postionen noch rechts
  ESC [ pos D               Cursor pos Postionen noch links
  
  ESC ] 2 titel BEL         Titelzeile eines Fensters verändern
  
  ESC [ ? S                 Statuszeile anzeigen
  ESC [ ? pos T             Cursor auf Spalte pos in Statuszeile setzen
  ESC [ ? F                 aus Statuszeile zurückkehren
  ESC [ ? H                 Statuszeile entfernen
  
  ESC [ ? 42 h              Fenster mit Scroll-Balken 
Erläuterungen: Beispiel:
  #include <stdio.h>

  #define   ESC             27
  #define   cls()           printf("%c[2J",ESC)
  #define   cursor(a,b)     printf("%c[%d;%dH",ESC,a,b)

  int main(void)
  {
    cls();
    cursor(2,2);
    printf("Hello, World %c%c !\n", 7, 7);
  }
Liste der unter AIX verfügbaren Escape-Steuerfolgen


Zurück zum Menü
Zurück zur vorigen Seite Weiter zur nächsten Seite

P. Böhme, 20.03.1996