Tengo un pequeño programa ncurse estoy ejecutando, pero la salida no parece mostrarse a menos que pegue el wrefresh()
en un ciclo while.NCurses Refresh
¿Hay algún almacenamiento en búfer o algo por el estilo? Probé otras funciones de refresh
en la biblioteca y fflush
con stddout
(lo cual no creo que tenga sentido, pero vale la pena intentarlo), pero nada parece funcionar.
Una segunda pregunta pequeña: para hacer getch()
sin bloqueo, necesitamos llamar al nodelay(win,TRUE)
, ¿verdad?
void main()
{
initscr();
start_color();
init_pair(1,COLOR_YELLOW,COLOR_CYAN);
WINDOW *win = newwin(10,10,1,1);
wbkgd(win,COLOR_PAIR(1));
wprintw(win,"Hello, World.");
wrefresh(win);
getch();
delwin(win);
endwin();
}
He añadido el siguiente código: while (ERR == getch()) { wrefresh (win); ++ ctr; } y la salida se ve bien, pero todavía no entiendo por qué no se muestra inicialmente sin bucle. – Tim