TurboC ++では、getch()
から関数を使用できますconio.h
。しかし、Linuxでは、gccはを提供しませんconio.h
。の機能を取得するにはどうすればよいgetch()
ですか?
66997 次
11 に答える
7
画面へのエコーが問題にならない場合は、getchar()
fromを使用してみてくださいstdio.h
。
于 2010-07-18T17:44:43.473 に答える
6
于 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 に答える