目录
清空整个屏幕:
(头文件<cstdlib>)
system(“cls”);
*该方法容易造成闪屏等问题,可以尝试用WIN-API函数解决(?) /待研究
清空特定的某一行:
- 若是清空方才输出的那一行
使用 \r 将光标移到该行行首,再输出指定字符可将方才输出的字符覆盖掉
若方才的输出长度大于再次输出的长度,可用空格等字符覆盖掉方才的输出
- 若是清空特定的某一行
使用ANSI转义代码
#include <iostream>
#include<windows.h>
#include<cstdio>
using namespace std;
int main()
{
cout<<"111111111111111";
Sleep(1000);
cout<<"\033[1A";
printf("\r");
Sleep(2000);
cout<<"2222222 ";
return 0;
}
(附录)一些常用的ANSI转义码
-
光标控制
\033[H
:将光标移动到屏幕的左上角(0,0)位置。\033[{行};{列}H
:将光标移动到指定的行和列。\033[A
:光标上移一行。\033[B
:光标下移一行。\033[C
:光标右移一行。\033[D
:光标左移一行。
-
清除屏幕
\033[2J
:清除屏幕上的所有内容,并将光标移动到左上角。- 清除屏幕从光标位置到下方的所有内容:
\033[J
- 清除屏幕从光标位置到上方的所有内容:
\033[1J
\033[K
:清除从当前光标位置到行末的所有内容。
-
文本样式
\033[0m
:重置所有样式。\033[1m
:设置高亮(Bright)模式。\033[4m
:设置下划线。\033[7m
:设置反显(Inverse)模式。\033[30m
到\033[37m
:设置前景色(文字颜色)。\033[40m
到\033[47m
:设置背景色。
-
字体样式
\033[1m
:粗体。\033[3m
:斜体。\033[4m
:下划线。\033[9m
:删除线。
请注意,\033
是 ESC 字符(ASCII码27)的八进制表示,你也可以使用十六进制表示法 \x1b
。