好的,我一直在研究如何执行此操作,但是说我正在运行一个程序,该程序在终端上有很多输出,如何清除程序中的屏幕以使程序保持运行状态?
我知道我可以只输入clear终端,然后将其清除就可以了,但是就像我说的那样,对于这个程序,这对我来说会更有利。
clear
我找到了可行的方法,但是我不确定它是什么或正在做什么。
cout << "\033[2J\033[1;1H";
那行得通,但是我不知道它是什么,如果您能解释一下,我将不胜感激。
这些是ANSI转义码。第一个(\033[2J)J从上到下(2)清除整个屏幕()。第二个代码(\033[1;1H)将光标定位在行1,列1。
\033[2J
J
2
\033[1;1H
1
所有ANSI转义均以序列开头ESC``[,具有零个或多个以分隔的参数;,并以命令字母(J和H您的情况)结尾。\033是转义字符的C样式八进制序列。
ESC``[
;
H
\033
有关完整的路演,请参见此处。