NCurses - getstr()和功能键

时间:2012-05-27 18:44:44

标签: c++ c ncurses

我的情况:

  • ncurses模式我有窗口 contentWin
  • 在此窗口中,我希望通过此代码读取“字符串”。

char str [41];
wgetnstr(contentWin, str, 40);

我希望能够抓住F2键。我考虑捕捉角色,然后进行比较然后(如果!= F2)将其放入终端并且 str 而不使用 wgetnstr()

有不同(更容易)的方式吗?谢谢: - )。

1 个答案:

答案 0 :(得分:1)

不是我知道的。您可能想要创建自己的函数,类似于检查F2等的wgetnstr() ....

您可以将该函数基于以下捕获F2的代码。

#include <ncurses.h>

int main()
{   
    int ch;

    initscr();          /* Start curses mode        */
    raw();              /* Line buffering disabled  */
    keypad(stdscr, TRUE);       /* We get F1, F2 etc..      */
    noecho();           /* Don't echo() while we do getch */

    while( (ch = wgetch(stdscr) ) != KEY_F(2))
    {
        printw("Key code: %u Key: %c\n", ch, ch);
        refresh();          /* Print it on to the real screen */
    }
    endwin();           /* End curses mode        */

    printf("F2 pressed .. program exiting\n");

    return(0);
}