22

TurboC ++では、getch()から関数を使用できますconio.h。しかし、Linuxでは、gccはを提供しませんconio.h。の機能を取得するにはどうすればよいgetch()ですか?

4

11 に答える 11

7

画面へのエコーが問題にならない場合は、getchar()fromを使用してみてくださいstdio.h

于 2010-07-18T17:44:43.473 に答える
6

呪いをチェックしてください:

http://en.wikipedia.org/wiki/Curses_%28programming_library%29

于 2010-07-18T17:43:30.543 に答える
1

getch()cursesライブラリに含まれているようです。

于 2010-07-18T17:44:14.407 に答える
1

何らかの理由で curses を使用できない場合は、これを試してください。

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <ctype.h>
# include <termios.h>

/* get a single char from stdin    */
int getch(void)
{
   struct termios oldattr, newattr;
   int ch;
   tcgetattr(0, &oldattr);
   newattr=oldattr;
   newattr.c_lflag &= ~( ICANON | ECHO );
   tcsetattr( 0, TCSANOW, &newattr);
   ch=getchar();
   tcsetattr(0, TCSANOW, &oldattr);
   return(ch);
}
于 2018-06-20T00:24:19.830 に答える
0

conio.h は Dos のみにあり、

Linux の場合は、

sudo apt-get install libncurses-dev

& それから

-lncurses

// IDE では、リンクする必要があります: 例: コードブロック、設定 -> コンパイラ -> リンカー設定、および 'ncurses' を追加

于 2016-10-22T21:21:38.383 に答える
0

Unix ではgetch()、ncurses ライブラリの一部です。しかし、私はこの質問の回避策を書いて、残りの呪いの荷物なしで getch のような機能を使用できるようにしました。

于 2012-05-22T19:00:09.567 に答える