首页 > 编程语言 >【C++】控制台清空/清除部分字符

【C++】控制台清空/清除部分字符

时间:2024-12-10 19:29:18浏览次数:7  
标签:清除 C++ 一行 清空 033 屏幕 控制台 光标

目录

清空整个屏幕:

清空特定的某一行:

(附录)一些常用的ANSI转义码


清空整个屏幕:

(头文件<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转义码

  1. 光标控制

    • \033[H:将光标移动到屏幕的左上角(0,0)位置。
    • \033[{行};{列}H:将光标移动到指定的行和列。
    • \033[A:光标上移一行。
    • \033[B:光标下移一行。
    • \033[C:光标右移一行。
    • \033[D:光标左移一行。
  2. 清除屏幕

    • \033[2J:清除屏幕上的所有内容,并将光标移动到左上角。
    • 清除屏幕从光标位置到下方的所有内容\033[J
    • 清除屏幕从光标位置到上方的所有内容\033[1J
    • \033[K:清除从当前光标位置到行末的所有内容。
  3. 文本样式

    • \033[0m:重置所有样式。
    • \033[1m:设置高亮(Bright)模式。
    • \033[4m:设置下划线。
    • \033[7m:设置反显(Inverse)模式。
    • \033[30m 到 \033[37m:设置前景色(文字颜色)。
    • \033[40m 到 \033[47m:设置背景色。
  4. 字体样式

    • \033[1m:粗体。
    • \033[3m:斜体。
    • \033[4m:下划线。
    • \033[9m:删除线。

请注意,\033 是 ESC 字符(ASCII码27)的八进制表示,你也可以使用十六进制表示法 \x1b

标签:清除,C++,一行,清空,033,屏幕,控制台,光标
From: https://blog.csdn.net/2401_87658772/article/details/144354665

相关文章

  • C++_C++对象初始化
    类定义有两种方式:一是在类内声明时同时实现,另一种是在类内声明函数原型、在类外实现类内定义的成员函数默认为内联函数 类外实现减少编译依赖减少编译依赖并清晰地分离接口与实现初始化显式初始化和隐式初始化 声明定义初始化--初始值的......
  • 11C++循环结构-for循环(1)
    一、for语句引出问题:当需要重复执行某一语句时,使用for语句。for语句最常用的格式为:for(循环变量赋初值;循环条件;循环变量增值)语句;注:“语句;”就是循环体,可以是一个简单的语句,也可以是一个用“{}”括起来的复合语句。它的执行过程如图示:编写这个程序可以如此:#include......
  • C++_线程池解读-线程和调试以及构建
    C++11多线程相关的头文件C++11新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic>,<thread>,<mutex>,<condition_variable>和<future>作用:线程池这层封装,只需要告诉它开启几个线程,然后直接塞任务就行了,然后通过一定的机制获取执行结果线程池可以想象成......
  • C++天使的灵动心跳代码:类和对象(中下)
    文章目录4.拷贝构造函数4.1默认拷贝构造函数4.2显式调用拷贝构造函数5.运算符重载函数5.1赋值运算符重载函数5.1.1默认赋值运算符重载函数5.1.2显式调用赋值运算符重载函数5.2const取地址运算符重载函数希望读者们多多三连支持小编会继续更新你们的鼓励就是我......
  • 蓝桥杯历届真题 -- #错误票据 (C++)
    文章目录思路stringstream接收数据完整代码结语原题连接思路我们将数据拿到数组之后,对数组进行一个排序,然后从头到尾遍历数组,在遍历的过程中,依次比较当前位置上的数字和上一个位置上的数字如果a[i]=a[i-1],说明是重复的号码如果a[i]=a[i-1]+2,说明是断号stringstr......
  • 2024年第七届全国青少年人工智能创新挑战赛 编程创作与信息学专项赛 C++真题(第一场)
    田地移动【问题描述】童童的田地是一个n行n列的格子方阵,区域中有一些格子埋有种子,用字符*表示,其他格子没有种子,用字符?表示。某一天童童在田地地里播种,他可以根据指令在上下左右四个方向上移动,大写字母A、B、L、R分别表示向上、向下、向左、向右移动一格。现在输入田......
  • C++链表的创建与基本操作
    在C++中,链表是一种动态数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表具有灵活的内存管理和高校的插入与删除操作,但访问效率较低。链表的每个节点通常包含两部分:1、数据部分(存储链表中元素的数据);2、指针部分(指向链表中的下一个节点)。链表类型主......
  • C++ 1070 结绳 (乙级)
    给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定N段绳子的长度,你需要找出它们能串成的绳子的最大长......
  • C++ 1072 开学寄语 (乙级)
    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器......
  • C++ 1093 字符串A+B (乙级)
    给定两个字符串A和B,本题要求你输出A+B,即两个字符串的并集。要求先输出A,再输出B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出A和B,均为长度不超过106的、由可见ASCII字符(即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中......