2
に押されたときにどのように私はCで、次のようなものを実装するに行くか:印刷何かのCtrl-Lは、C
if (isPressed("ctrl-L")==true)
print("Hello, world");
に押されたときにどのように私はCで、次のようなものを実装するに行くか:印刷何かのCtrl-Lは、C
if (isPressed("ctrl-L")==true)
print("Hello, world");
アスキー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()
ほとんど動作しません。通常、プログラムはユーザーがEnterキーを押したときにのみttyから文字を受け取ります。押されたキーを検出するには、ncursesや別のライブラリが必要です。 – user31264
@ user31264 pressを押さないように編集しました。 – artm
これはうまくいきました(ただし、明らかにウィンドウの下には表示されません)。 – user31264