如何真正清空Linux终端的已显示Buffer
2012-10-25 16:53
323 查看
把代码先贴上来先. 参考ncurses-5.9/progs/tset.c简化, 能实现和"reset"命令一样的功能.
ncurses包位置: http://www.gnu.org/software/ncurses/
ncurses包位置: http://www.gnu.org/software/ncurses/
#include <stdio.h> #include <stdlib.h> // getenv #include <unistd.h> // STDOUT_FILENO #include <term.h> // TTY definition #define KTRUE 1 #define KFALSE 0 #define reset_1string CUR Strings[122] #define reset_2string CUR Strings[123] static inline int outc(int c) { return putc(c, stderr); } int main(void) { struct termios mode, oldmode; char *ttype, *p; if (tcgetattr(2, &mode) < 0) { printf("standard error.\n"); goto EXIT; } oldmode = mode; tcsetattr(2, 1, &mode); if ((ttype = getenv("TERM")) == NULL) goto EXIT; if (ttype[0] == '?') goto EXIT; if (setupterm(ttype, STDOUT_FILENO, (int*)0) != 0) goto EXIT; if ((p = reset_1string) != 0) { tputs(p, 0, outc); } if ((p = reset_2string) != 0) { tputs(p, 0, outc); } if (memcmp(&mode, &oldmode, sizeof(mode))) { tcsetattr(2, 1, &mode); } return KTRUE; EXIT: return KFALSE; }
相关文章推荐
- Linux系统里如何彻底的清空终端屏幕?
- 如何改造 Linux 虚拟终端显示文字
- Linux系统里如何彻底的清空终端屏幕
- 如何改造 Linux 虚拟终端显示文字
- 如何改造 Linux 虚拟终端显示文字
- Linux系统里如何彻底的清空终端屏幕?
- Linux技巧: Linux终端打印如何设置不同的颜色及显示方式
- 如何改造 Linux 虚拟终端显示文字
- 如何让开发板的linux终端显示工作路径
- 如何改造 Linux 虚拟终端显示文字
- linux如何清空终端内容
- Linux系统里如何彻底的清空终端屏幕?
- Linux系统里如何彻底清空终端屏幕
- Linux终端里面如何显示上一屏的内容
- 如何在终端输入密码时显示星号 | Linux 中国
- 如何让linux终端显示/不显示 路径
- linux终端下修改文件夹名称显示颜色
- linux 命令终端提示符显示-bash-4.2#解决方法
- 如何在Linux桌面墙纸上显示Google Calendar
- Linux 终端清空文件