NCURSES标准输入

问题描述:

出于某种原因ncurses的不喜欢标准输入,我知道我可以使用,而不是getstr(),这里是我在做什么,到目前为止,NCURSES标准输入

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

怎么可能我得到一个替代stdin的循环(也许使用getstr())?

任何帮助将不胜感激。

感谢

+0

我想你回答了你自己的问题。有没有什么特别的你正在寻找使'getstr()'低劣的选择? – LnxPrgr3 2009-11-20 21:52:14

您可以使用getstr()从标准输入读取到一个缓冲区。检查curses 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; 
} 

对于使用ncurses的捕捉输入,我会使用的基于你的需求的3个功能之一:

残培()为字符,scanw()的格式化输入和最后getstr()