2010-01-04 36 views
0

我正在使用ncurses庫在屏幕上顯示一些有趣的輸出,但在程序中間,我需要暫時退出ncurses模式。我打電話endwin(),之後我的程序應該能夠使用printf()向用戶顯示菜單。不幸的是,我的程序無法顯示菜單。我在printf()之後嘗試使用fflush(),然後才能夠在屏幕上顯示菜單。是否endwin()去初始化ncurses?

有誰能告訴我爲什麼,我撥打endwin()後,終端無法恢復正常,我無法使用printf()

回答

0

endwin之前使用def_prog_mode來保存狀態。 返回後,請執行:reset_prog_mode然後refresh。 您的原始屏幕將會顯示。

是的,使用printf後你必須這樣做:fflush(stdout)。