使用getchar()检测按键输入

4
当我运行以下程序时:
int main()
{
  getchar();
  return 0;
}

当我在控制台上按任何箭头键,例如(向上箭头),我会得到^[[A。我想知道这是什么意思。具体来说,我想知道^[的含义。

2个回答

4
< p > ^ 是 Ctrl 键的简写符号。然后, ^ [ 是 终端转义码 用于表示 ESC ,即转义字符。


2

在另一个字符前面加上插入符号(^)是控制字符的转义序列之一(其中一个具有代码点0到31的字符)。^[是名为ESC的转义字符,通常用于引入终端的转义序列。这就是当你按向上箭头键时键盘发送的内容。


但是为什么键盘会发送这个,它是扫描码的一部分吗? - Alex_ban
上箭头没有 ASCII 码。有一个 ANSI 标准描述了哪些转义序列键被转换为没有 ASCII 码相关联的内容。这也指定了 ↑ 被映射到 ^[[A。 - fuz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接