Linux系统 如何用C语言实现清屏 *** 作

Linux系统 如何用C语言实现清屏 *** 作,第1张

clrscr函数为C语言的清屏函数,功能为清除屏幕上的输出,clrscr为clear screen的简写。

clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。

1 函数声明:

void clrscr(void)

2 头文件:

#include <conio.h>

3 程序示例:

#include <conio.h>

int main ()

{

cprintf("\r\nPress any key to clear screen")//输出一些文字。

getch()//暂停,直到有按键。

clrscr()//清除屏幕,之前的输出会被清空。

cprintf("The screen has been cleared!")

getch()

return 0

}

4 在当前主流编译器中,不支持该函数,可以用

system("cls")//windows平台

system("clear")//unix/Linux平台

实现相同效果。

在linux下用过的清屏方法。clear命令、这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的 *** 作信息。

Ctrl+l(小写的L)、这是一个清屏的快捷键,这个是笔者在工作中用得最多的一种清屏方式,清屏效果同clear命令一样。

reset命令、这个命令将完全刷新终端屏幕,之前的终端输入 *** 作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。值得一提的是reset命令在你的终端控制错乱时非常有用。如输入字符不出现在光标的位置的情况。还有当你敲击回车键时,新提示符并没有出现在新行上而是出现在老提示符的前面。此时reset命令就能用来修正这些问题。

printf "\033c"命令、这个命令它才是真正的清空了终端屏幕,它的功能跟DOS里CMD.EXE提供的CLS效果很相似。但这个命令究竟是做什么的?它的工作原理是什么? \033  ==  \x1B == 27 == ESC于是,这个命令变成了<ESC>c,它是VT-XXX中表示“Full Reset (RIS)”的转义码。现今我们使用的所有的终端都是VT兼容的,它的另一种实现方式也可以这样:

键盘上Ctrl+v--->Esc-->输入c再回加。但如果你发现自己使用的是一个非常奇怪的终端(如笔者曾经在putty上作过测试),那这个命令你可能用不了。  printf是bash里内置的命令,内置命令的优先级比其它可执行文件要高。

有2个方法可以实现。

1)使用屏幕输出控制符 \033[2J

只需要向标准屏幕输出中写入控制符即可。

printf("\033[2J")

2)直接进行系统命令调用

system("clear")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/5932308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存