何らかの理由でncursesはstdinが好きではありません。代わりに getstr() を使用できることはわかっています。
while (fgets(str, BUF, stdin) != NULL) {
printf("input something ");
}
このループの stdin に代わるものを取得するにはどうすればよいでしょうか (おそらく getstr() を使用)。
どんな助けでも感謝します。
ありがとう
ncurses を使用して入力をキャプチャするには、必要に応じて 3 つの関数のいずれかを使用します。
文字の場合は getch()、書式付き入力の場合は scanw()、最後に 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;
}