Die ncurses ist (fast) immer mindestens unter Linux im Lieferumfang enthalten und kann, wenn nicht schon bei der Erstinstallation, anschließend über das Installations-Medium heruntergeladen werden. Ein Ncurses Download ist im Abschnitt Links erwähnt. Darüber hinaus sind in ncurses zusätzliche Header-Dateien für spezielle Anwendungen enthalten: xx steht für so (shared object) oder a (static program library).
äquivalent zu den Header-Dateien gibt es weitere ncurses-Bibliotheken: ncurses kommt mit umfangreichen und detaillierten Manualseiten. Die Beschreibung der Funktionen der einzelnen Ncurses kann ebenfalls abgefragt werden, z.B. man 3 ncurses mvaddstr. Ein Window stellt einen rechtwinkligen Bildschirmbereich dar. Screens sind Verweise auf eine WINDOW-Datenstruktur. ncurses erkennt zwei Screens beim Start:
Dies ist das wichtigste Fenster, das vom Entwickler durch ncurses Anweisungen beeinflußt werden kann. Wenn sich ein C-Standardfunktionen (z.B. printtf, scanf) im ncurses-Modus befinden, dürfen (oder sollten) nicht für die Ein- und Ausgaben genutzt werden. Dazu bietet ncurses eigene Funktionalitäten an. ncurses steht für Terminal Capabilities und ist eine Konfigurationsdatei, in der die Möglichkeiten (Anzahl der Zeilen, Spalten,....) vieler Endgeräte gespeichert sind. ncurses macht im Prinzip das selbe wie termincap.
Auch kann der ncurses Modus durch Enddwin vorübergehend durchbrochen werden. Um in den Ncurses-Modus zurück zu gelangen, verwenden Sie eine Refresh-Anweisung. Der Befehl boool isendwin() kann verwendet werden, um abzufragen, ob der ncurses Modus noch aktiviert ist. boole ist ein boolscher Datentyp, der ncurses bringt. Die Tatsache, dass C++-Compiler oder andere Libraries auch einen Booldatentyp wissen, wird in der ncurses-Header-Datei mitberücksichtigt.
Bei anderen Programmerstellungsarten, z.B. über IDE, wird hier nur der generelle Vermerk "ncurses library nicht vergessen" angegeben und zwar unmittelbar aus dem Sicherungsverzeichnis des Vorgängerprogramms. ncurses text I/O-Funktionen gibt es in der Regel auch noch als Varianten mit einem mv-Präfix, so dass Cursorpositionierung und Daten-I/O in einem Zug durchgeführt werden können und nicht zwei aufeinanderfolgende Befehle geschrieben werden müssen. int curs_set(int visibility); modify.
Der ncurses Bibliothek ist eine Vielfalt von Text-Ausgabefunktionen bekannt. ýnt addch (const chtype ch); ýnt mvaddch(int y, int x, const chtype ch); ýnt echochar( (const chtype ch); ýEchochar korrespondiert mit einem Hinzufýgen mit anschlieýendem Auffrischen.
int insstr (const zeichen *str ) *str; int insnstr( (const zeichen *str, int n); int mvinsstr( (int y, int x, const zeichen *str) ; int mvinstr( (int y, int x, const zeichen *str, int n) ) ; int printw(const zeichen *fmt, .
. ); in mvprintw( (int y, int x, const char *fmt, ....)
In der Bibliothek ncurses gibt es eine Vielzahl von Möglichkeiten zur Eingabe über die Tastatureingabe. x getch(void); mvgetch(, x ); mvgetch( ); int engetch (int ch); wgetch(WINDOW *win); getch korrespondiert ungefähr mit der Getcharfunktion von stdio.h. engetch beschreibt das Merkmal ch zurück in die Eingabewarteschlange. ngetch ist eine Funktionalität zur Eingabe von Charakteren in speziell definierten Zeitfenstern.
Zu diesem Zweck hat Ncurses zwei verschiedene Funktionen: nl( ) und nonl (void). Bei nl( ) wird ein Return-Tastendruck (Zeilenendezeichen) als Zeichen für den Zeilenumbruch ausgelegt: 10dez, LF, Zeilenvorschub. getstr (char *str); getnstr(char *str, int n); mvgetstr(int y, int x, char *str ); mvgetnstr(int y, int x, char *str, int n); int scan (char *fmt, ....); int mvscanw( (int y, int x, char *fmt,...); int vwscanw(WINDOW *win, char *fmt, va_list varglist); ist mit dem herkömmlichen scanningb.
Das ist das Standard-Verhalten von ncurses. Dazu hat Ncurses zwei Standardfunktionen: internes Beep(void); internes Flash(void); beep() sollte einen kleinen Signalton produzieren und flash() einen kleinen opt.