2010-01-04 2 views
0

J'utilise la bibliothèque ncurses pour montrer une sortie amusante sur l'écran, mais au milieu du programme, j'ai besoin de quitter temporairement le mode ncurses. J'appelle endwin(), après quoi mon programme devrait pouvoir utiliser printf() pour montrer un menu à l'utilisateur. Malheureusement, mon programme n'a pas pu afficher le menu. J'ai essayé d'utiliser fflush() après printf(), et seulement alors est-il capable d'afficher le menu sur l'écran.Est-ce que endwin() désinitialise ncurses?

Quelqu'un peut-il me dire pourquoi, après avoir appelé endwin(), le terminal ne peut pas revenir à la normale et je ne peux pas utiliser printf()?

Répondre

0

Utilisez def_prog_mode avant endwin pour sauvegarder l'état. Après le retour, faites: reset_prog_mode puis refresh. Votre écran d'origine sera affiché.

Oui, après avoir utilisé printf, vous devez faire: fflush (stdout).

Questions connexes