尝试从pad获取输出,但只获得一个空白屏幕。
#include "curses.h"
int main()
{
initscr();
WINDOW *pad = newpad(25, 80);
wprintw(pad, "Hello, World!\n");
prefresh(pad, 0, 0, 0, 0, 25, 80);
wgetch(pad);
delwin(pad);
endwin();
}
答案 0 :(得分:1)
在40x80的屏幕上运行,我得到输出(" Hello,World!"消息)。也许你的屏幕只有24x80。 prefresh
调用的参数不能超过屏幕大小,并且由于您未启用滚动(scrollok
),wgetch
会挂起而不显示任何内容。
此示例适用于:
#include <curses.h>
int main(void)
{
initscr();
WINDOW *pad = newpad(LINES+1, COLS);
wprintw(pad, "Hello, World!\n");
prefresh(pad, 0, 0, 0, 0, LINES-1, COLS);
wgetch(pad);
delwin(pad);
endwin();
return 0;
}