博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android系统shell中的clear命令实现【转】
阅读量:5923 次
发布时间:2019-06-19

本文共 659 字,大约阅读时间需要 2 分钟。

本文转载自:

之前一直不太清楚,当我们在shell命令行输入很多命令,会在屏幕上输出一些信息,为什么一执行clear这个命令以后,所有的信息就没了呢?

现在终于搞明白了,找到了clear命令的源代码clear.c

源码如下:

 

[cpp]   
 
 
  1. #include <stdio.h>  
  2.   
  3. int clear_main(int argc, char **argv) {  
  4.     /* This prints the clear screen and move cursor to top-left corner control 
  5.      * characters for VT100 terminals. This means it will not work on 
  6.      * non-VT100 compliant terminals, namely Windows' cmd.exe, but should 
  7.      * work on anything unix-y. */  
  8.     fputs("\x1b[2J\x1b[H", stdout);  
  9.     return 0;  
  10. }  

震惊了!!!就两行代码!!!这里面稀奇古怪的字符串重定向到stdout(标准输出)是什么东西呢?

 

其实是一串VT100的控制码,那这一串代码什么东西呢?

"\x1b[2J",//清除整个屏幕,行属性变成单宽单高,光标位置不变

"\x1b[H",//光标移动

更加详细的命令可以参考以下博文:

http://blog.sina.com.cn/s/blog_7347cd380100upwj.html

 

你可能感兴趣的文章
Node.js 全局对象
查看>>
JVM基础系列第1讲:Java 语言的前世今生
查看>>
数组的扩容和缩容
查看>>
第三方库之 - SVProgressHUD
查看>>
struts-自定义标签
查看>>
OSChina 周四乱弹 ——盘点安全圈都有哪些又酷又萌的妹子
查看>>
OSChina 周五乱弹 ——你会对五年后的自己说什么
查看>>
jQuery基础知识— 获得内容和属性
查看>>
关于iOS APP中网络层的设计
查看>>
切片分组
查看>>
修改标题栏的高度
查看>>
ADT-abundle-使用过程中不断出现的错误
查看>>
web架构提纲
查看>>
aliyun阿里云Maven仓库镜像地址
查看>>
大话数据结构-数据结构绪论笔记
查看>>
ZHYcms开源内容管理系统源码阅读
查看>>
java8函数表达式的定义[Definition of a Lambda Expression]
查看>>
android权限列表 翻译
查看>>
php 运行内存设置
查看>>
MySQL server has gone away
查看>>