Tp algoprog
Feuille de TP
La librairie ncurses
Les fonctions standard du C permettent de réaliser des affichages simples. Pour les affichages plus complexes dans les terminaux, on utilise généralement la librairie ncurses. L’utilisation de la librairie nécessite d’inclure le fichier ncurses.h et de rajouter -lncurses à la fin des options de gcc lors de la compilation.
I) Introduction ncurses fournit de nombreuses fonctions pour faciliter l’affichage complexe de caractères sur un terminal. Les fonctions printf et scanf ont leurs équivalents avec printw et scanw. Ces deux fonctions fonctionnent de la même façon que leur équivalent standard, mais doivent êtres utilisées lorsque l’on utilise ncurses. La librairie fournit également la fonction clear() qui efface l’écran. Avant d’utiliser les fonctions de ncurses, il est nécessaire d’appeler la fonction initscr() pour initialiser la librairie. Avant de quitter le programme, la fonction endwin() doit être appellée pour libérer la mémoire. Cette fonction provoque également l’effacement de l’écran. Pour lire une seule touche, on peut utiliser getch() (attention le résultat est du type int). Cette fonction peut aussi servir à attendre que l’utilisateur tappe n’importe quelle touche. ATTENTION : contrairement à printf, aucun affichage ne sera réalisé directement avec les fonctions de ncurses. Il faut appeller la fonction refresh() à chaque fois que l’on souhaite envoyer les affichages vers l’écran pour les rendre visibles.
II) Hello Word
• Écrivez un programme qui affiche "Hello world !" à l’écran.
III) Affichage localisé
La fonction mvprintw(y, x, format, arguments...) permet d’afficher un message à un endroit précis de l’écran. La première valeur y détermine un numéro de ligne et x détermine la colonne où commencer l’affichage. Le format et les arguments sont similaires aux arguments de printf. • Écrivez un programme qui affiche "Message long" à la position 15, 10. •