我想知道如何检查用户是否键入了“退格”字符。
我在我的 C 程序中使用 getch() 函数,即“key = getch()”
,我想检查何时按下退格键。行:
if(key = '\b') { ....
不起作用。
最佳答案
阅读 Backspace 的问题在于大多数终端都是“熟”的,因为像退格键这样的键是由终端驱动程序处理的。但是,curses 函数 getch()
可以读取退格键,因为它与终端无关。
编辑
我刚刚注意到您的代码正在使用getch()
用于输入。我运行了一个小测试程序和 getch()
按退格键时返回 127。因此尝试:
if (key == 127 || key == 8) { ... /* Checks for both Delete or Backspace */
另请注意,您的示例代码使用了赋值 运算符 =
什么时候应该使用 equality 运算符 ==
关于c - 如何检查 C 中的 "backspace"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363309/