如何生成"可读"在命令提示符下退格?
我有一个很小的C应用程序,我试图用getchar()方法从输入读取退格。
是否有任何组合触发此功能(并且仍能捕获它)? (类似于Ctrl-Z来触发EOF)
答案 0 :(得分:1)
退格是特别的!通常,您需要使用一些原始/无缓冲键盘I / O模式来捕获它。
在Windows上,您可以尝试使用getch
代替getchar
。另见:What is the difference between getch() and getchar()?
答案 1 :(得分:1)
您可以使用curses函数getch()
来读取退格
切换以下链接 -
how to check for the "backspace" character in C
在上面的链接中,回答ascii的退格值用于读取它。
答案 2 :(得分:1)
退格键的Ascii代码是127,所以每个函数从终端输入返回一个整数,如果退格,可能会返回127。请注意,因为它与删除按钮的代码相同。
<强>的Linux 强>
首先查看this回答并实现自己的 getch(),然后按照Windows代码示例(显然没有conio.h lib)。
<强>窗强>
只需在源文件的开头添加#include<conio.h>
即可。
这是我的SSCCE,只需要写这样的东西
int main(void) {
int c;
while (1) {
c = getch();
if (c == 127) {
printf("you hit backspace \n");
} else {
printf("you hit the other key\n");
}
}
return 0;
}