Linux 退格键不回显
在程序使用system("stty erase ^H");可以实现在输入状态下,按退格键删除字符,不回显。 调用tcsetattr修改linux基本输入的控制字符定义
//Linux下退格键不回显
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <termios.h> int main(int arg,char *args[])
{
/*
* 第一种方法
* */
//system("stty erase ^H");
/*
* 第二种方法
* */
struct termios term;
memset(&term,,sizeof(term));
/*
* 获取系统当前termios设置
* */
if(tcgetattr(STDIN_FILENO,&term)==-)
{
printf("tcgetattr() failed ! error message:%s\n",strerror(errno));
return -;
}
/*
term.c_lflag &= ~ICANON;//取消ICANON选项(不规范输入)
term.c_lflag != ICANON;//设置ICANON选项(规范输入)
term.c_cc字段为要设置的具体特殊输入字符,如term.c_cc[VERASE]代表退格键
term.c_cc[VERASE]='\b';意思是擦除一个字符用退格键表示
VERASE代表向前擦出一个字符,VINTR代表发送 ctrl + C中断信号,ctrl + C的ASCII码为3
例如term.c_cc[VINTR]='\t';意思是将tab键设置为中断信号
tcsetattr中,第二个参数说明--
TCSAFLUSH:发送了所有输出后更改才生效,在更改发生时,未读取得所有输入数据都被删除
TCSANOW:更改立即生效
TCSADRAIN:发送了所有输出后更改才发生,如果更改输出参数则应该使用该选项
*/
term.c_cc[VERASE]='\b';//'\b'为退格键的ASCII码
if(tcsetattr(STDIN_FILENO,TCSANOW,&term)==-)
{
printf("tcsetattr() failed ! error message:%s\n",strerror(errno));
return -;
}
return ;
}
Linux 退格键不回显的更多相关文章
- 关闭linux退格键和vi发出的嘟嘟声
以root用户登录,然后请安下面方法进行操作: 在命令行下执行:echo "rmmod pcspkr" >> /etc/rc.d/rc.local
- Linux使用退格键时出现^H ^?解决方法
Linux使用退格键时出现^H ^?解决方法 在linux下执行脚本不注意输错内容需要删除时总是出现^H ^H不是H键的意思,是backspace.主要是当你的终端backspace有问题的时候才需要 ...
- [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法
[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952 ...
- Linux 使用退格键时出现^H解决方法
当我们再和脚本交互的时候,在终端上输错了内容,使用退格键,屏幕上会出现乱码,比如 ^H.^H不是H键的意思,是backspace. 主要是当你的终端backspace有问题的时候才需要设置. 解决方法 ...
- Oracle在linux下命令行无法使用退格键退格,无法使用上下键切换历史命令的解决办法
使用xshell等客户端登录oracl时在命令行无法使用退格键也无法使用上下键切换历史命令可以使用rlwrap解决 1,linux环境 2,下载rlwrap wget http://files.cnb ...
- Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法
在Linux下编辑一些文件.这就涉及到了vi这个编辑器了.在Linux下,初始使用vi的时候有点问题.就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的 ...
- Linux使用退格键时出现^H + Tab键命令补全失效/方向键失效 + ls文件夹和文件没有颜色
删除问题 安装kalilinux使用普通用户的的时候按退格键无法实现删除功能 解决的办法有两个 一改变快捷键: 使用Ctrl+Backspace组合键可以实现删除功能 ctrl + backspace ...
- 解决在SecurecCRT登录后,发现方向键、backspace(退格键)、delete(删除键)为乱码的问题
问题:使用securecrt ssh到linux之后,backspace(退格键),delete(删除键),以及4个方向键都为乱码,不能正常使用.按tab键也没有自动补全文件名. 即: 按Backsp ...
- SecureCRT终端上使用spark-shell时按退格键无反应的解决方法
问题:用SecureCRT远程连接至Spark集群,启动spark-shell却发现输错命令后却无法用退格键删除. 解决方法: 第一步: 在SecureCRT的菜单栏选择“OPtions(选项)”按钮 ...
随机推荐
- HTML5 画布canvas元素
HTML5的canvas元素以及随其而来的编程接口Canvas API应用前景极为广泛.简单地说,canvas元素能够在网页中创建一块矩形区域,这块矩形区域可以成为画布,这其中可以绘制各种图形.可别小 ...
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...
- Spring源码阅读系列总结
最近一段时间,粗略的查看了一下Spring源码,对Spring的两大核心和Spring的组件有了更深入的了解.同时在学习Spring源码时,得了解一些设计模式,不然阅读源码还是有一定难度的,所以一些重 ...
- User Word Automation Services and Open XML SDK to generate word files in SharePoint2010
SharePoint 2010 has established a new service called "Word Automation Services" to operate ...
- 尝试一下sql server2016里面的json功能
前2天下载了一个2016的rc版本来玩一下,首先感觉是~开发者版本免费啦!!撒花!!!另外一个东西,sql server 2016能支持json 的解析和应用啦,虽然我不知道它的性能如何,先来一发测试 ...
- C# 读取在存储过程多结果集
--SQL Server 测试环境搭建: Create database Test; go USE [Test] GO if OBJECT_ID('Tab','U') is not null drop ...
- php魔术方法罗列
##__sleep() 和 __wakeup() 当序列化(serialize)对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep() .__sleep() 方法常用于提交未提交 ...
- 使用.Net自带的GZipStream进行流压缩与解压
using System.IO; using System.IO.Compression; using System.Text; namespace CS.Utility { /// <summ ...
- MiniProfiler 兼容 Entity Framework 6
一直以来都是在用MiniProfiler配合ASP.NET MVC做请求的监控. 在某项目升级Entity Framework 6之后,在执行查询时报错误: --------------无法将类型为“ ...
- css3常用动画+动画库
一.animates.css animate.css是来自dropbox的工程师Daniel Eden开发的一款CSS3的动画效果小类库.包含了60多款不同类型的CSS3动画,包括:晃动,闪动,各种淡 ...