请教个问题.密码筐显示*
就是我输入字符的时候.能像WINDOWS下.密码框那样.显示*.而不显示实际字符
----------------解决方案--------------------------------------------------------
/*自己在这基础上加密码外框 */
/*输入回车为结束 输入退格键改写 */
#include"stdio.h"
#include<conio.h>
int main(void)
{
char a;
while((a=getch())!='\r')
{
if(a!='\b')
printf("*");
else
{
printf("\b");
printf(" ");
printf("\b");
}
}
return 0;
}
[[it] 本帖最后由 xianshizhe111 于 2008-2-26 12:37 编辑 [/it]]
----------------解决方案--------------------------------------------------------
楼上的方式不错.呵呵.小而简洁....
----------------解决方案--------------------------------------------------------
的确不错,但这样上特殊键将占有两个*.
----------------解决方案--------------------------------------------------------
哪两个*说来听听..
----------------解决方案--------------------------------------------------------
比如方向健,用getch第一次返回特殊值(devcpp上是 -32 ,tc是0);
再用一次getch才能得到健值。所以按一下上键,会同时跳出2个'*'
----------------解决方案--------------------------------------------------------
/*真是谢谢你啊!我又进了一步 改良版,输入数字(0-9)和小写字母(a-z)其它不起作用*/ /*原操作方法不变*/
#include"stdio.h"
#include<conio.h>
int main(void)
{
char a;
while((a=getch())!='\r')
{
if(a>='0'&&a<='9'||a>='a'&&a<='z')
printf("*");
else if(a=='\b')
{
printf("\b");
printf(" ");
printf("\b");
}
}
getchar();
return 0;
}
----------------解决方案--------------------------------------------------------
我喜欢听别人的意见.
----------------解决方案--------------------------------------------------------
利用 getch()
----------------解决方案--------------------------------------------------------
呵呵````要做好这个功能不容易啊```
除了方向键``还有HOME END键``中键盘的键都是2个值``
----------------解决方案--------------------------------------------------------