2

何らかの理由でncursesはstdinが好きではありません。代わりに getstr() を使用できることはわかっています。

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

このループの stdin に代わるものを取得するにはどうすればよいでしょうか (おそらく getstr() を使用)。

どんな助けでも感謝します。

ありがとう

4

2 に答える 2

1

ncurses を使用して入力をキャプチャするには、必要に応じて 3 つの関数のいずれかを使用します。

文字の場合は getch()、書式付き入力の場合は scanw()、最後に getstr()

于 2010-07-16T14:47:46.157 に答える
1

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;
}
于 2009-11-20T21:59:37.973 に答える