====== Erste Schritte mit NCurses ====== ===== Hello World ===== Ein "Hello World" in NCurses sieht vergleichsweise ähnlich zu einem normalen "Hello World": #include int main(void) { initscr(); printw("Hallo Welt!"); refresh(); getch(); endwin(); return(0); } NCurses muss zunächst initialsiert werden (''[[gui:ncurses:lib:initscr()]]''). Dabei wird automatisch ein NCurses-Fenster angelegt, in das anschließend geschrieben werden kann. Die Funktion ''[[gui:ncurses:lib: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 ''[[gui:ncurses:lib:refresh()]]'' auf den Bildschirm geschrieben. Die Funktion ''[[gui:ncurses:lib:getch()]]'' fragt einen Buchstaben ab. Normalerweise würde er als ''[[c:type:int|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 ''[[gui:ncurses:lib: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.