我正在尝试制作一个C ++程序来读取密码。
我让程序变成了*
,而不是我写的字符,但我的问题是我想删除字符,因为它们错了。
示例:
我的常密码是12345
如果我输入1235
,程序将显示****
,我必须删除最后一个字符。从字符串中删除它很简单,但我想让最后一个*
从控制台中消失,就像你向你介绍Windows密码时那样。
可能吗?如果是,有人可以解释一下吗?
答案 0 :(得分:6)
输出退格符'\ b'可能有助于将输出点移回。
具体来说,输出字符串“\ b \ b”应该删除最后一个字符输出。
答案 1 :(得分:1)
printf("\b ");
这句话肯定有效,因为在光标返回一个字符后,上面 printf 语句中给出的空格将覆盖控制台输出上的打印字符。
答案 2 :(得分:1)
当我使用putch函数(来自conio.h)写入控制台来模拟退格键时 简单
std::cout << '\b';
或
printf("\b ");
不起作用 我必须写:
cout << '\b' << " " << '\b';
或
putch('\b');
putch(' ');
putch('\b');
答案 3 :(得分:0)
尝试退格\ b或删除整行并再次打印。
答案 4 :(得分:0)
将'\b'
字符写入stdout std::cout<<"\b"
。如果您使用cpp或printf("\b")
用于纯C