在 C 中按下 Ctrl-L 时打印一些东西

Print something when Ctrl-L is pressed in C

我将如何在 C:

中实现如下内容
if (isPressed("ctrl-L")==true)
    print("Hello, world");

参考ASCII ctrl代码:

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

Ctrl-L0xOC。所以你需要检查 getchar 中的 return 以查看 Ctrl-L 是否被按下。沿线的东西:

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()