ncurses pour new curses et curses pour cursor optimization. C'est une bibliothèque de fonctions C permettant une gestion avancée des entrées/sorties sur un terminal en ligne de commandes (CLI). ncurses se charge de détecter les capacités du terminal et envoi les caractères de contrôles adaptés.
ncurses est sous licence GNU, c'est une version libre de CURSES qui a vu le jour sur BSD System V (SVr4)
Installer les fichiers sources:
$ apt-get install libncurses5-dev
Inclure le fichier d'entête ncurses.h dans les sources et compiler en spécifiant la bibliothèque ncurses:
#include <ncurses.h>
...
$ gcc main.c -lncurses
3 classes de fonctions pour les sorties:
3 catégories de fonctions pour récupérer les entrées:
getch() | Récupère un seul caractère. Influencée par les fonctions d'initialisation tel que cbreak() |
---|---|
scanw() | Similaire à sscanf() avec la capacité de récupérer l'entrée depuis n'importe quelle partie de l'écran. |
getstr() | Récupère une chaîne et met à jour le pointeur fournit. |
Exemple d'utilisation de getstr
Les attributs permettent d'afficher des caractères avec certains effets. Utilisés avec parcimonie ils permettent de mettre en avant certaines informations.
Les fonctions attron(), attroff() utilisent des masques pour activer/désactiver plusieurs attributs simultanément.
//active le mode renversé et le clignotement attron(A_REVERSE | A_BLINK);
La fonction attrset() définit l'attribut au lieu de l'activer, elle écrase la valeur précédente de l'attribut.
La fonction attr_get() permet de récupérer les attributs et les couleurs d'une zone de l’écran.
Un exemple d'utilisation des attributs