c - linux终端在C程序中向上翻页和向下翻页

标签 c linux terminal

我们如何使用任何其他键(例如,上下箭头)从 C 程序中为 linux 终端调用 (shift + pageup) 和 (shift + pagedown) 函数。我需要进行哪些系统调用。

最佳答案

这些功能是通过向终端发送转义序列来操纵的,即字符序列(通常以“转义”字符开头)。

Linux 控制台的详细序列记录在 console_codes 中手册页。但是,每个终端仿真器(例如,您在桌面环境中运行的任何终端程序)都与此不同。有些记录在案(xterm 和 rxvt),有些则没有(gnome-terminal、konsole)。

对于 DEC VT100 终端,大多数人将自己称为类 VT100。以下是天平两端的信息来源

为了为这些功能提供更好的编程接口(interface),有库(ncurses 和俚语),使用终端数据库(列出给定终端提供的内容,以及如何做)。

从命令行,shell 脚本可以使用 tput发送转义序列的程序。 (shell 脚本通常也只对这些进行硬编码,但代价是缺乏可移植性和可读性)。

关于c - linux终端在C程序中向上翻页和向下翻页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980906/

相关文章:

node.js - 在ubuntu 18.04中安装npm时出错

c - GCC 内联汇编 : constraint for direct memory reference

C - 将结构序列化为 char* 会更改原始数据

linux - 在 linux 服务器上安装 Glassfish 以兼容 JSP 和 Servlet

c - 在 Linux 编程中通过管道在进程之间发送链表结构的最佳方法是什么

macos - 如何使用 shell 命令从钥匙串(keychain)中删除密码?

c - 这个 C 语句是做什么的?

c - 两个元素相加的数据结构

linux - 在 gcc 中放置 `-l' 选项

macos - 在 OSX 上更改文件的 "date added"属性