ncurses - 没有pad的输出

时间:2018-03-10 11:22:02

标签: c ncurses

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

1 个答案:

答案 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;
}