2016-11-06 11 views

答えて

3

アスキーCTRLコードを参照してください。

http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm

Ctrl-Lです0xOC。したがって、Ctrl-Lが押されたかどうかを確認するには、返品をgetcharから確認する必要があります。行に沿って何か:

system ("/bin/stty raw"); // avoid the need to press Enter 
int c = getchar(); 
if(c == 0x0C) 
{ 
    // isPressed("Ctrl-L"); 
    printf("Hello, world"); 
} 

注:getchar()は通常Enterが必要です。したがって、効果をCtrl-Lの直後に適用する場合は、ターミナルエフェクトを変更する必要があります。詳細はこちらをご覧ください。How to avoid press enter with any getchar()

+0

ほとんど動作しません。通常、プログラムはユーザーがEnterキーを押したときにのみttyから文字を受け取ります。押されたキーを検出するには、ncursesや別のライブラリが必要です。 – user31264

+0

@ user31264 pressを押さないように編集しました。 – artm

+0

これはうまくいきました(ただし、明らかにウィンドウの下には表示されません)。 – user31264