出于某种原因, ncurses 不喜欢 stdin ,我知道我可以使用而不是getstr(),这是我到目前为止所做的,
while (fgets(str, BUF, stdin) != NULL) {
printf("input something ");
}
如何为此循环获取stdin的替代方法(可能使用getstr())?
任何帮助都会受到赞赏。
由于
答案 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()