怎样删除已经输出的字符 (C语言)?

比如已经
printf("1230123");
但想删除后面的3怎么办?

依据输出装置而定.
字符输出後,
已经储存或显示在输出装置内,
能否删除,
依据输出装置的能力而定.
就显示幕来说,
若支持ascii控制字符,
我们可以输出"bs
控制字符",
来告知显示幕删除前一个已输出的字符.
但若显示幕不支持(或许是模式不同),
就无法删除.
ascii的删除控制字符为
0x08,
printf的格式化,
为"\b".
也可以上网查ascii确认.
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-02
高级用法,文本模式下指定位置输出
用" "覆盖掉

gotoxy(1, 1);
printf("1230123");
gotoxy(7, 1);
printf(" ");
第2个回答  2009-03-02
//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
printf("123");
printf("\b%c\b",32);/*注意这里*/
return 0;
}
//---------------------------------------------------------------------------
第3个回答  推荐于2016-08-17
printf("1230123");
之后加:
printf("\b");
或者 printf("1230123\b");

附:关于转义字符

转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\0nnn 八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\x 十六进制符
第4个回答  2009-03-02
你可以限制输出的位数不就行了吗?
相似回答