Curses werden initialisiert
In diesem Abschnitt werden die Befehle für die Initialisierung von Curses beschrieben.
Verwenden Sie die folgenden Befehle, um Curses zu initialisieren:
| Befehl | Beschreibung |
|---|---|
| endwin | Beendet die Curses-Subroutinenbibliotheken und ihre Datenstrukturen. |
| initscr | Initialisiert die Curses-Subroutinenbibliothek und ihre Datenstrukturen. |
| isendwin | Gibt TRUE zurück, wenn die Subroutine endwin ohne nachfolgende Aufrufe der Subroutine wrefresh aufgerufen wurde. |
| neuer_Begriff | Richtet ein neues Terminal ein |
| setupterm | Richtet die TERMINAL-Struktur für die Verwendung durch Curses ein |
#include <curses.h>Bevor Sie Subroutinen aufrufen können, die Fenster oder Anzeigen bearbeiten, müssen Sie die Subroutine initscr oder newterm aufrufen. Diese Subroutinen speichern zuerst die Terminaleinstellungen und rufen dann die Subroutine setupterm auf, um ein Curses-Terminal einzurichten.
Wenn Sie vorübergehend Curses aussetzen müssen, verwenden Sie ein Shell-Escape oder eine Subroutine. Rufen Sie die Subroutine wrefresh oder doupdate auf, um die Verarbeitung nach einem temporären Escapezeichen fortzusetzen. Vor dem Verlassen eines Curses-Programms müssen Sie die Subroutine endwin aufrufen. Die Subroutine endwin schreibt TTY-Modi zurück, versetzt den Cursor in die linke untere Ecke der Anzeige und setzt das Terminal in den richtigen nicht visuellen Modus zurück.
- Subroutine nonl .
- Subroutine intrflush , wobei der Parameter Fenster auf stdscr und der Parameter Flag auf FALSEgesetzt ist. Der Parameter Fenster ist erforderlich, wird aber ignoriert. Sie können stdscr als Wert des Parameters Fenster verwenden, weil stdscr bereits für Sie erstellt wurde.
- Subroutine keypad mit dem Parameter Window auf stdscr und dem Parameter Flag auf TRUE.
Die Subroutine isendwin ist hilfreich, wenn Sie die Subroutine wrefresh aus Optimierungsgründen nicht unnötig aufrufen wollen. Um festzustellen, ob die Subroutine endwin ohne nachfolgende Aufrufe der Subroutine wrefresh aufgerufen wurde, verwenden Sie die Subroutine isendwin .