NCURSES标准输入
问题描述:
出于某种原因ncurses的不喜欢标准输入,我知道我可以使用,而不是getstr(),这里是我在做什么,到目前为止,NCURSES标准输入
while (fgets(str, BUF, stdin) != NULL) {
printf("input something ");
}
怎么可能我得到一个替代stdin的循环(也许使用getstr())?
任何帮助将不胜感激。
感谢
答
您可以使用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()
我想你回答了你自己的问题。有没有什么特别的你正在寻找使'getstr()'低劣的选择? – LnxPrgr3 2009-11-20 21:52:14