C语言如何实现输入密码以星号显示

我在网上看到好多都是这种形式的,不过这跟不用星号有什么区别呢,要实现不显示123456 直接显示星号 望高手赐教 一经采纳 必重赏

C语言中可采用getch()函数来实现输入密码字符时,不显示字符到终端上,这时,只需要显示出一个相应的*就可以达到效果了。参考代码及运行效果如下图:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-12
呵呵!
这个很简单的啊,你只要将你的密码保存在一个数组中啊,以便下次匹配密码时使用啊,但你的输出为“*”就好啦,给你个例子啊
密码长度为6哈
#include <stdio.h>
int main()
{

int c[6];
int i = 0;
while(i < 6)
{
c[i++] = getchar();
putchar('*');
}
return 0;
}本回答被网友采纳
第2个回答  2010-07-12
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i = 0;
char ch = 0;
char psword[128] = {0};
printf("input the psword: \n");
while ((ch = getch()) != '\r')
{
putchar('*');
psword[i] = ch;
i++;
}
printf("\npsword = %s\n", psword);
return 0;
}
第3个回答  2010-07-12
这个是终端回显的问题,涉及到底层的终端操控,跟具体的操作系统提供的API有关,建议你去查询相关操作系统的C语言库
第4个回答  2010-07-12
用c=getch();不显示输入字符
相似回答