3

我的情况:

  • ncurses 模式下,我有窗口contentWin
  • 从这个窗口我想通过这个代码读取“字符串”。

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

我希望能够在这一刻抓住 F2 键。我考虑捕获字符,然后进行比较,然后(如果!= F2)将其放入终端和str而不使用wgetnstr()

有不同(更简单)的方法吗?谢谢 :-)。

4

1 回答 1

1

从来没听说过。您可能想创建自己的功能,类似于wgetnstr()检查 F2 等....

您可以将该函数基于以下捕获 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);
}
于 2012-06-19T18:13:36.177 回答