NC中的NCURSES stdin

时间:2009-11-20 20:04:54

标签: c ncurses

出于某种原因, ncurses 不喜欢 stdin ,我知道我可以使用而不是getstr(),这是我到目前为止所做的,

while (fgets(str, BUF, stdin) != NULL) {
    printf("input something ");
}

如何为此循环获取stdin的替代方法(可能使用getstr())?

任何帮助都会受到赞赏。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用getstr()从stdin读取缓冲区。检查诅咒HOWTO以获取示例。

#include <ncurses.h>
#include <string.h> 

int main() {
   char buf[80];

   initscr();   

   do {
      getstr(buf);
      mvprintw(5, 0, "You entered: %s", buf);
   } while (strcmp(buf, "STOP"));

   endwin();

   return 0;
}

答案 1 :(得分:1)

为了使用ncurses捕获输入,我会根据您的需要使用3种功能中的一种:

getch()表示字符,scanw()表示格式化输入,最后是getstr()