社区
C++ 语言
帖子详情
请教如何在linux命令行中通过键盘上下键读取一个文本文件的一行显示在命令行中
melamelascx
2007-04-13 01:32:46
并且当读取显示下一行的时候能够将上一行的内容消去掉?就像输入命令的时候可以通过上下键把以前输入过的命令显示出来一样,3x~~
...全文
1073
12
打赏
收藏
请教如何在linux命令行中通过键盘上下键读取一个文本文件的一行显示在命令行中
并且当读取显示下一行的时候能够将上一行的内容消去掉?就像输入命令的时候可以通过上下键把以前输入过的命令显示出来一样,3x~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
melamelascx
2007-04-13
打赏
举报
回复
wen ti jie jue!!!
as freshui said!
3x all!!!!
freshui
2007-04-13
打赏
举报
回复
getch() 不用通过回车判断
他就是等待你敲一个字符的
不过这里键盘的上下键是不刻显示字符, 要比较ascII马或者是键盘映射的码值 多少忘了
sinall
2007-04-13
打赏
举报
回复
好像可以,看看tput命令吧。
melamelascx
2007-04-13
打赏
举报
回复
虽然还没有尝试,但是5月的风所说的就是我想表达的意思,但是不知道如何不通过敲回车来判别上下键
melamelascx
2007-04-13
打赏
举报
回复
谢谢楼上各位,没想到牵涉这么多东西,那如果仅仅想通过不敲回车来获取键盘输入的内容,这个有办法实现吗?
freshui
2007-04-13
打赏
举报
回复
hehe 看样子挺难啊
你这样行不? 没实现过
通过按上下键, 将读取文件的指针移到文件上一行或者下一行的开头, 然后将该行print出来,
print的时候用\b\r吧, 请掉当前屏幕行并移动指针到屏幕当前行开头
我觉得这样能实现, 而且应该挺简单的...
我觉得也不用搞那么复杂
getch() 之后 一个case语句, printf函数 即可搞定
凌殿Y_ST
2007-04-13
打赏
举报
回复
命令列表可以一次载入到一个数组中去,而获取键盘输入事件,可以通过getchr()或相关的取字符的函数,但比较的时候,是用扫描码,而不是ASCII,因为上下键没有定义ASCII;另一个可以用清屏函数来清除前面的显示内容,具体函数我也忘了,有时间我去试试看好不好实现。
iambic
2007-04-13
打赏
举报
回复
保存记录,键盘映射,终端读写。
覆盖屏幕内容用curses库。
google curses.h
动手前确认你确实需要这样的功能。
al0n9
2007-04-13
打赏
举报
回复
linux下面,没有键盘输入事件这个概念。
linux下面,有前台程序和后台程序的概念。只有前台程序,才能得到键盘输入,操作系统会把键盘扫描码放到前台程序的输入缓冲区中。在任一时刻,每个控制台只能有一个程序是前台程序。
你必须在自己的程序中读取用户的按键,然后调用终端控制函数,实现回滚功能。回滚的功能,是由各个终端提供的函数来完成的,实际上,就是向终端发送一些控制码,终端收到这些控制码之后,就能做出回滚、颜色加亮等的动作。
但是,这些控制码,各个终端之间并不是完全通用的,所以,你必须通过终端控制函数来控制终端。
melamelascx
2007-04-13
打赏
举报
回复
原来这么复杂啊,如果在命令行中,运行我的程序后,这时通过摁一下 上下键 就能显示一行内容,并且每次现实的内容都能覆盖原来屏幕上的那一行内容,这样还这么复杂吗?如何实现阿?其实核心问题是不知倒如何获取键盘输入事件,另外一点是不知道如何将已经显示到屏幕上的内容给用心的内容覆盖掉,用c++实现
凌殿Y_ST
2007-04-13
打赏
举报
回复
我给出一个大概实现的思路,具体的没去试过:
=================================
1、先打开一个命令列表文件,从0行开始,并设定index = 0;
2、用switch...case...操作上下选择方向;
3、行取出命令串,并回显在屏幕上;
4、取得Enter按键时,用execl()调用命令串,实现命令的执行;
5、<<有待实现>> ^o^
凌殿Y_ST
2007-04-13
打赏
举报
回复
linux还没这种功能吧?! -_-!!!
history是已经运行过的命令,并以列式保存在shell缓冲区中的~
不过这种功能还是可以实现的!~
Linux
键
盘
输入
读取
1. 找到
键
盘
设备
linux
的
键
盘
设备在 /dev/input/eventX
中
,通过 ls /dev/input 通常会看到很多个eventX 那么哪个才是
键
盘
?继续使用指令 cat /proc/bus/input/devices 查看各个设备的描述,通过关
键
字 keyboard 可以定位到 event1 2.
读取
按
键
按照
linux
“一切皆文件” 的特点,
读取
按
键
只需三步,open、read和解析,特别注意的是
读取
的数据为 struct input_event 结构 #include <
linux
读取
键
盘
上下左右
键
小程序
linux
读取
键
盘
上下左右
键
小程序 月城雪兔 2016-06-03 17:28:31 因为想
读取
键
盘
的上下左右方向
键
,却发现在网上不容易找到恰当的例子,最后是以
一个
ros程序简化而来的。 第一,为什么在运行程序时,在终端按下箭头up down left right 箭头会出现 ^[A^[B^[C^[D 这个跟换
键
码有关,“escape sequence”实际上是用来
在
linux
中
如何用C语言实现
读取
“上下左右、ESC”
键
废话不多说,直接上代码!#include
#include
#include
//分配内存的大小 #define SIZE 10 //定义按
键
们的宏 #define ESC "\033" #define UP "\033[A" #define DOWN "\033[B" #de
linux
哪个命令可以分页
显示
大
文本文件
,
linux
分页
显示
命令的12个使用案例
1. 前言本文主要讲解
Linux
系统下如何分页
显示
文件内容,有哪些命令可以实现这个功能,以及这些命令的常见使用方案。当我们命令
命令行
查找
一个
文本文件
时里,使用以下快捷
键
进行屏幕翻页向前翻看,使用以下
键
盘
键
shift+PgUp向后翻看,使用以下
键
盘
键
shift+PgDown2. 使用more命令分页
显示
more 是我们最常用的工具之一,最常用的就是
显示
输出的内容,然后根据窗口的大小进行分页
显示
,然后...
linux
查看
文本文件
命令_在
Linux
命令行
上使用更多内容查看
文本文件
linux
查看
文本文件
命令 有许多实用程序,可让您在
命令行
时查看
文本文件
。 其
中
之一是更多 。 more与我写过的另
一个
工具less相似。 主要区别在于, 更多内容仅允许您在文件
中
前进。 尽管这似乎很局限,但它具有一些有用的功能,这些功能值得很好地了解。 让我们快速浏览一下还有什么可以做,以及如何使用它。 基础 假设您有
一个
文本文件
,想在
命令行
中
读取
它。 只需打开终端,进入包含该...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章