ncurses - pad 无输出

ncurses - No output from pad

正在尝试从 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();
}

运行 在 40x80 屏幕中,我得到了输出("Hello, World!" 消息)。也许您的屏幕只有 24x80。 prefresh 调用的参数不能超过 screen-size,并且由于您没有启用滚动 (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;
}