C语言中怎样实现输入密码时,显示****?
C语言中怎样实现输入密码时,显示*****,在cmd窗口中。
----------------解决方案--------------------------------------------------------
在写CREATE的时候,属性写成ES_PASSWORD
----------------解决方案--------------------------------------------------------
http://bbs.bc-cn.net/viewthread.php?tid=179337
----------------解决方案--------------------------------------------------------
用getpass这个吧,禁止回显.
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
不要只发表情帖哈。
----------------解决方案--------------------------------------------------------
多谢楼主,也经搞定了!
----------------解决方案--------------------------------------------------------
用getch也行 你输入的数据只存在内存中 不显示 然后造个假 输入一个 就printf("*");
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<conio.h>
main()
{
char password[6];
printf("请输入您的密码:");
scanf("%s",&password);
char c;
for(int i=0;i<6;i++)
{
c=getch();
putch('*');
}
exit(0);
}
----------------解决方案--------------------------------------------------------
具体实验的时候自己加个主函数吧,输入回车符结束密码输入
[CODE]
int count;
char pass[MAX];
while((count>=0)&&(pass[count++]=getch())!=13)
{
if(pass[0]=='\b')
{//输入的第一个字符为退格符时,
count=0;
continue;
}
else if(pass[count-1]=='\b')
{
printf("%c%c%c",'\b','\0','\b');
count-=2;
}
else
putchar('*');
}
pass[--count]='\0';
[/CODE]
----------------解决方案--------------------------------------------------------