远程控制-linux中按退格键显示 ^H问题

问题描述

linux中按退格键显示 ^H问题

程序代码说明:
通过read函数读入一段字符 到 buf中 并通过printf函数显示出来
为了按下回车键实现擦除功能,而不显示^H字符,所以修改termios状态
程序代码如下
int main()
{
char buf[256] = {0};
struct termios term;
struct termios oldterm;

    if(tcgetattr(STDIN_FILENO, &term) == -1)//得到系统termion的设置
    {
        printf("tcgetattr error is %s
", strerror(errno));
        return;
    }
    oldterm = term;
    term.c_cc[VERASE] = 8;//''为退格键的ASCII码
    if (tcsetattr(STDIN_FILENO, TCSANOW, &term) == -1)//设置系统termion
    {
        printf("tcsetattr error is %s
", strerror(errno));
    }
read(STDIN_FILENO, buf, sizeof(buf)-1);
printf("%s
", buf);

    if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &oldterm) == -1)
    {
        printf("tcsetattr error is %s
", strerror(errno));
    }
return 0;

}
问题:
通过secure-CRT远程控制centos7系统, 执行该程序,可以满足功能,按退格键即实现擦除功能
直接在centos7上执行,按退格键反而出现“^?”。若不修改termios状态,反而可以实现退格键擦除功能。
为什么同一程序,会出现不同结果??

解决方案

退格键变成^H的问题
SecureCRT按退格键出现^H问题
SecureCRT按退格键出现^H问题

解决方案二:

原来是同一个值,两个程序对应到编码不同阿

时间: 2024-10-31 12:26:22

远程控制-linux中按退格键显示 ^H问题的相关文章

如何解决Linux中sqlplus退格和上翻键乱码问题

在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能, 非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 tar -zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure make

部分安卓手机输入法键盘退格键无效

问题描述 html5中inputtype="url"标记,如果某个字母输错了,直接点键盘中的退格键,不能删除,必须关闭键盘重新打开才能删除 解决方案 解决方案二:安卓就是这样的,稀奇古怪的还有很多呢.解决方案三:大神们支支招解决方案四:我觉得你是需要多用一些安卓设备进行测试,有些可能是个别设备自身的问题,如果出现这种现象的情况比较普遍,就需要从开发的角度找原因了.解决方案五:只是说部分安卓手机,这让大家如何应对,说出品牌型号,说不一定谁有的话就帮你测了

Google Chrome 将禁止“退格键”作为后退按钮使用

在Google Chrome浏览器中,"退格键(Backspace)"具有"后退/转到上一页"的功能,如果用户在一个页面输入了内容,不小心点击退格键不是删除一个单词而是删除了所有输入的内容,这给用户造成了很多困惑,以至于有开发者开发了扩展禁止退格键的返回上一页功能.相比之下,Firefox和Opera比Google考虑周到,不会导致数据损失,如果用户在一个页面输入内容那么点击后退Firefox会弹出提示.现在,Google决定修正这一导致用户苦恼的问题,方法是不再允

Linux下解决按退格键出现问号的问题

环境:VirtualBox4.1 + RedHat Linux 6 问题:按退格键出现问号 如图所示: 问题分析:误用reset命令所致. 解决: 设定环境变量(在文 字接口里设定,也就是类似于Windows的Dos界面): 在bash下,执行如 下语句:$ stty erase ^? 或者把 stty erase ^?添加到.bash_profile 中. 在csh下,执行如下语句:$ stty erase ^H 或者把 stty erase ^H添加到.cshrc中.

解决Linux下sqlplus退格、上翻键乱码问题

  在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能,非常讨厌! 为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap 1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上 2. 以root用户解压缩安装 1 2 3 4 5 tar -zxvf rlwrap-0.37.tar.gz   cd rlwrap-0.37  ./c

360浏览器中按Backspace退格键不能删除数据,返回上一页

编者注:本文已获原创加分,请作者继续努力! 我最近才开始使用360浏览器,在发布文章时打错了字,想按Backspace退格键删除,结果返回上一页了.记得以前用低版本chrome的时候,chrome是把Backspace设为返回上一页的快捷键的,原来360浏览器也有这个快捷键! 目前在新版本的chrome浏览器中连续按Backspace键,chrome会提示按"Alt + ←"来返回上一页.即:新版本chrome不再把Backspace键做为返回上一页的快捷键,恢复了它本来的功能:删除数

CEGUI中回车键,退格键的响应

前面做的那个程序,回车键和退格键用不了. 后来查了下资料发现 injectKeyDown()这个函数传入的是扫描码,而windows消息机制按键出来的是虚拟键码,两个码不一样. 后来无意中看到一个函数. UINT VirtualKeyToScanCode(WPARAM wParam, LPARAM lParam) { if(HIWORD(lParam) & 0x0F00) { UINT scancode = MapVirtualKey(wParam, 0); return scancode | 

jsp要实现屏蔽退格键问题探讨_JSP编程

今天涉及到一个问题,在jsp中的查询条件中,有文本框可输入筛选条件,也有下拉框选择筛选条件.输入框中内容可按"Backspace"键进行删除,但是下拉框中需要屏蔽backspace功能,否则就回执行页面的回退功能.代码如下 复制代码 代码如下: <td width="350px;">企业名称:  <input type="text" name="filter_psName" id="psName&q

js实现模拟计算器退格键删除文字效果的方法

  这篇文章主要介绍了js实现模拟计算器退格键删除文字效果的方法,涉及javascript字符串截取操作的相关技巧,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 <!