2016-06-23 5 views
-2

getch()メソッドとまったく同じ働きをする独自のカスタムメソッドを作成したいと思います。 C/C++のいずれか。このようC/C++でカスタムgetch()メソッドを作成します。

+2

いいえ。そう? – immibis

+0

興味深く、価値ある学習経験ですが、現在は質問ではありません。 – user4581301

+0

言語C/C++はありません。異なる言語のCとC++のみ。例えば、_methods_をサポートしていません。 – Olaf

答えて

0

:私はhereからもらった

#include <termios.h> 
#include <unistd.h> 
#include <stdio.h> 

/* reads from keypress, doesn't echo */ 
int getch(void) 
{ 
    struct termios oldattr, newattr; 
    int ch; 
    tcgetattr(STDIN_FILENO, &oldattr); 
    newattr = oldattr; 
    newattr.c_lflag &= ~(ICANON | ECHO); 
    tcsetattr(STDIN_FILENO, TCSANOW, &newattr); 
    ch = getchar(); 
    tcsetattr(STDIN_FILENO, TCSANOW, &oldattr); 
    return ch; 
} 

/* reads from keypress, echoes */ 
int getche(void) 
{ 
    struct termios oldattr, newattr; 
    int ch; 
    tcgetattr(STDIN_FILENO, &oldattr); 
    newattr = oldattr; 
    newattr.c_lflag &= ~(ICANON); 
    tcsetattr(STDIN_FILENO, TCSANOW, &newattr); 
    ch = getchar(); 
    tcsetattr(STDIN_FILENO, TCSANOW, &oldattr); 
    return ch; 
} 

、。

+1

ありがとうございます。.. –

+0

これはコーディングサービスではありません。あなた自身の研究努力を示すためにOPを要求していたはずです。また、すべてのOSで動作するわけではありません。また、これは実際にはコードを他の回答からコピーしています。代わりに、dup-CVedを実行する必要があります。 – Olaf

+1

誰かが私のコメント@Olafを削除しました。私はあなたの一般的な行動にもかかわらず、今度はあなたが正しいと言いました、ありがとう。 – gsamaras

関連する問題