Ich habe ein kleines Ncurs-Programm, das ich laufe, aber die Ausgabe scheint nicht aufzutreten, es sei denn, ich stecke die wrefresh()
in eine While-Schleife.NCurses Refresh
Gibt es eine Pufferung oder etwas? Ich versuchte andere refresh
Funktionen in der Bibliothek und fflush
mit stddout
(was ich glaube nicht, macht Sinn, aber einen Versuch wert), aber nichts scheint zu funktionieren.
Eine zweite kleine Frage: getch()
nicht blockierend machen wir müssen anrufen nodelay(win,TRUE)
, richtig?
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();
}
Ich habe den folgenden Code hinzugefügt: while (ERR == getch()) { wrefresh (win); ++ ctr; } und die Ausgabe sieht gut aus, aber ich verstehe immer noch nicht, warum es zunächst ohne Schleife nicht angezeigt wird. – Tim