c++怎样删除已输出的字符?

如题所述

  可以用转义字符"\b",\b的功能是退格,或者使用 system("cls"); 清屏。

  例如下列代码:

  #include<iostream>

  using namespace std;

  int main()

  {

  cout<<"ABCD"<<"\b\b";

  system("pause");

  return 0;

  }

  就等于是输出ABCD,再删除掉D,然后删掉C。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
\b 是退格符,会向前移动光标,然后再打印一个空格,就可以删除最后的字符了。如果是想删除多个字符,那么就打印多个\b,然后输出对应个数的空格即可。本回答被网友采纳
第2个回答  2018-03-31

可以用转义字符\b,\b的功能是退格,或者使用 system("cls")清屏。

字符输出後, 已经储存或显示在输出装置内, 能否删除, 依据输出装置的能力而定.

就显示幕来说, 若支持ASCII控制字符, 我们可以输出"BS 控制字符", 来告知显示幕删除前一个已输出的字符. 但若显示幕不支持(或许是模式不同), 就无法删除.

ASCII的删除控制字符为 0x08, printf的格式化, 为"\b". 也可以上网查ASCII确认.

本回答被网友采纳
第3个回答  2009-03-02
printf("1230123");
之后加:
printf("\b");
或者 printf("1230123\b");

附:关于转义字符

转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\0nnn 八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\x 十六进制符
第4个回答  2009-03-02
高级用法,文本模式下指定位置输出
用" "覆盖掉

gotoxy(1, 1);
printf("1230123");
gotoxy(7, 1);
printf(" ");
相似回答