C语言编程时,想达到:输入数字或字母而显示的是星号(类似于ATM取款时的密码显示方式)这样的效果,

C语言编程时,想达到:输入数字或字母而显示的是星号(类似于ATM取款时的密码显示方式)这样的效果,请问如何写代码?... C语言编程时,想达到:输入数字或字母而显示的是星号(类似于ATM取款时的密码显示方式)这样的效果,请问如何写代码? 展开
 我来答
isc039
推荐于2017-10-06 · TA获得超过7.8万个赞
知道小有建树答主
回答量:744
采纳率:0%
帮助的人:440万
展开全部

在<conio.h>下有一个函数getch(),调用这个函数可以不显示用户输入的内容。

然后你只需要判断,用户输入后,自己往屏幕上输出一个星号,同是保存用户输入的内容即可

#include <stdio.h>  
#include <conio.h>  
  
#define MAX_STR_LEN  32  
  
char passwd[MAX_STR_LEN] = {0};  
  
char *GetPasswd(void)  
{  
    char c;  
    int i = 0;  
    int len = MAX_STR_LEN-1;  
      
    while ((c=getch()) != '/r')  
    {  
        passwd[i] = c;  
        putchar('*');  
        i++;  
        if (i >= len)  
        {  
            break;  
        }  
    }  
      
    return passwd;  
}  
  
int main(void)  
{  
    char *dispstr = NULL;  
  
    dispstr = GetPasswd();  
    printf("/nthe password is : %s/n", dispstr);  
  
    return 0;  
}
追问
可是conio在TC上可以使用而在Dev上就不能识别了吧?
追答
dev用的是gcc的编译器,试试curses.h
lygszmjj
2014-08-15 · TA获得超过1814个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:422万
展开全部
getch() 函数接收键盘输入的一个字符,且不带回显。
你所要求的效果可通过循环使用getch() 、printf("*")函数实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linnjing
2014-08-15 · TA获得超过2632个赞
知道大有可为答主
回答量:1230
采纳率:91%
帮助的人:516万
展开全部
http://baike.baidu.com/view/751663.htm

dos控制台程序用getch,不回显,后面的显示*需要自己处理。
windows程序可以用输入密码的控件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用户月神之泪
2014-08-15
知道答主
回答量:54
采纳率:0%
帮助的人:28.3万
展开全部
你可以用网页编程中的控件ajax也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式