Seitenleiste

Community

GUIs

Einstieg

Plattformübergreifend

Konsolenbasiert

Erste Schritte mit NCurses

Hello World

Ein „Hello World“ in NCurses sieht vergleichsweise ähnlich zu einem normalen „Hello World“:

#include <ncurses.h>
 
int main(void)
{
  initscr();
 
  printw("Hallo Welt!");
 
  refresh();
 
  getch();
  endwin();
 
  return(0);
}

NCurses muss zunächst initialsiert werden (initscr()). Dabei wird automatisch ein NCurses-Fenster angelegt, in das anschließend geschrieben werden kann. Die Funktion printw() schreibt nun wie printf einen Text, allerdings wird dieser nicht sofort ausgegeben, sondern dem automatisch erzeugten Fenster hinzugefügt. Das Fenster wird anschließend mit refresh() auf den Bildschirm geschrieben.

Die Funktion getch() fragt einen Buchstaben ab. Normalerweise würde er als Integer zurückgegeben, so dass man auf die Eingabe reagieren könnte. In diesem Fall interessiert uns aber nicht, was eingegeben wurde, sondern nur, dass eine Taste gedrückt wurde. Anschließend wird das Programm beendet und dafür das automatisch erzeugte Fenster mit endwin() abgebaut.

Das war's auch schon, um ein erstes NCurses-Programm zu schreiben.

Nun muss es nur noch kompiliert werden und hierfür rufen wir den C-Compiler auf und teilen ihm mit, dass die NCurses-Library verwendet wird:

gcc hworld.c -l ncurses -o hworld

Hier entsteht nun das Programm hworld, dass auf einem Fenster den Text Hello World anzeigt. Bemerkenswert ist, dass mit dem Abbauen des Fenster der ursprüngliche Bildschirminhalt wieder hergestellt wird.