c - 如何检查 C 中的 "backspace"字符

标签 c character backspace

我想知道如何检查用户是否键入了“退格”字符。

我在我的 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/

相关文章:

c - Postgresql 9.6 C函数编译错误: elog. h: unknown type 'sigjmp'

c - 不含数组的结构体的生命周期

SEO在源代码中发出红色字符? > 为什么?语法高亮?浏览器源代码?

java - 如何将空格字符放入数组元素中?

c - 暂停和重新启动终端输出

javascript子字符串如退格键

c - 如何使用 atoi() 将类型转换为 Int32

c - 当全范围的输入成为可能时,怎样才能最好地建立哨兵值?

perl - 将一行中某个位置的字符与同一位置的其余行进行比较的简单方法(Perl)

javascript - 需要调试帮助 : Prevent backspace from navigating back