动画演示字符的打印删除(退格\b的用法详解)

一、今天讲解\b的用法,也就能动画演示输出的字符删除的效果。

首先我们引入\b的用法,它表示的是一个退格,但是只是你光标位置的改变,printf("\b");表示光标退回一个格,printf("\b\b");表示退回两个格,但是\b只是退格作用而不是删除,要想删除必须用到空格来掩盖光标所指向的字符,也就是在\b后边加一个空格。

#include <stdio.h>
#include <windows.h>

int main(void)
{
	printf("H");	
	Sleep(500);
	printf("e");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf(",");
	Sleep(1000);
	printf("\b ");
	Sleep(1000);
	return 0;
}

在这里插入图片描述
我们可以看到输出的Hello,最后一个,被空格占了,也就是说\b带个空格是把后边的空格退了一位,于是达到了删除效果,但是还需要注意的是每一次执行完退格操作光标会自动到这一段字符串的末尾,也就是Hello后空格的后边,因此在之后的退格操作中必须带两个\b,printf("\b\b "),让光标退到空格之前,删除前面的字符。

代码如下:

):


#include <stdio.h>
#include <windows.h>

int main(void)
{
	printf("H");	
	Sleep(500);
	printf("e");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("l");
	Sleep(500);
	printf("o");
	Sleep(500);
	printf(",");
	Sleep(1000);
	printf("\b ");
	Sleep(1000);
	printf("\b\b ");
	Sleep(1000);
	printf("\b\b ");
	Sleep(1000);
	printf("\b\b ");
	Sleep(1000);
	printf("\b\b ");
	Sleep(1000);
	printf("\b\b \b"); 
	Sleep(1000);
	
	return 0;
}

可以看到我们最后是多输出一个退格实际上为了达到效果最后那个\b可以不用写,但是如果还有后续操作,我们必须让光标放到第一行,方便以后的操作所以带一个\b来解决我们之前提到的问题就是光标在那个空格之后,所以最后让光标移动到空格上也就是第一位,就完美完成了删除。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李 天 真

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值