curses ist der Name verschiedener Programmbibliotheken zur Darstellung zeichenorientierter Benutzerschnittstellen (Text User Interface, TUI) unabhängig vom darstellenden Textterminal bzw. Terminalemulator.
Zunächst gab es eine Implementierung der Berkeley Software Distribution (BSD) 4.4, der 1989 eine Weiterentwicklung für Veröffentlichung 4 von System V folgte.
Andere Weiterentwicklungen sind pcurses (1982) von Pavel Curtis und (1987) Public Domain Curses (PDCurses)[1] von Mark Hessling.
In den frühen 1990er Jahren setzten Zeyd Ben Halim und Eric Raymond die Entwicklung von pcurses fort und nannten es ncurses, die heute überwiegend in Gebrauch ist. Thomas Dickey trat 1995 in das Projekt ein und ist seit 1996 der Hauptentwickler.
Es gibt einen Standard von X/Open, der sich ausgesprochen nahe an die System-V-Implementierung hält.
Einfaches Hallo-Welt-Programm mit curses:
#include <curses.h>
int main(void)
{
initscr();
printw("Hallo Welt!");
refresh();
getch();
endwin();
return 0;
}