我正在尝试为控制台制作一个小游戏,因此我需要检查按下了哪个箭头键。在互联网上找不到任何有用的东西。
到目前为止我尝试过这个:
printf("%i", getch());
但是 getch() 总是返回 27,无论我按下哪个箭头。
有什么想法吗?
最佳答案
箭头键在内部由字符 ESCAPE +“[”+一个字母表示。取决于它是哪个箭头键:“A”代表向上,“B”代表向下,“C”代表向右,“D”代表向左。
而 ESCAPE 是#27。因此,可能发生的情况是,按下箭头时会得到三个字符,而不仅仅是一个。你会得到 27(转义)、91“[”,然后是 65-68 范围内的某个值(“A”-“D”)。
关于c - OS X 上的箭头键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955006/