<密码的实现>输入密码的时候,显示“*”,而不是显示输入内容
一开始还以为用C语言和C++不能实现输入密码的时候显示出“*”而不显示输入的内容呢!没想到偶然的机会试出了用while循环结构可以实现。以下是我整理的C语言和C++的代码,供初学者参考。
这是C语言实现的代码:
1 #include <stdio.h> 2 3 int main() { 4 int c; 5 char str[100], *p = str; 6 7 while ((c = getch()) != '\r') { 8 if(c == '\b') { 9 printf("\b \b\a"); 10 --p; 11 continue; 12 } 13 *p++ = c, printf("*"); 14 } 15 printf("\n"); 16 17 *p++ = '\0'; 18 puts(str); 19 return 0; 20 }
NOTE:可以后退删除,但是删除的时候界面上删除一个空格,再删除一下,达到了看似界面上的假象。
自己可以试一下不要后面的" \b"输出结果是什么样的就知道了,这里的\a只是提示音。