c语言显示密码为星的函数,c语言密码显示星号

C语言中如何输入密码显示星号

void main() { char str[256]; int c,i=0;

10年积累的做网站、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有防城港免费网站建设让你可以放心的选择与我们合作。

while ( 1 ) {

c=getch(); if ( c==13 ) break;

printf("*"); str[i]=c; i++;

}

str[i]=0; printf("%s\n",str);

}

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

在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;  

}

C语言怎么使用密码输入,也就是输入回显星号。

用for 语句和getch( );putchar (‘*’);来实现的,而getch 不分区另ENTER和BACKSPACE等特殊键,不好控制它的结束。因此只有避过问题强行规定密码必须是8位的,但在输入密码时仍然不允许用户输入ENTER和BACKSPACE等特殊键。

以下程序功能:

接受所有打印字符。

不接受控制字符,如Ctrl+ ,Alt,F1等。

可使用退格键删除以输入字符。

回车键为密码输入完毕

可定义最大字符数。当输入字符数等于最大字符个数时,视为密码结束。

#include stdio.h

#include conio.h

#define TRUE 1

#define FALSE 0

#define MIN_INPUT 0x20

#define MAX_INPUT 0x7e

/*

* 所有功能有此函数实现:

* pszPw : 保存密码的缓冲

* iMaxSize :最大的密码长度,该长度必须小于缓冲区大小。

* 返回值为TRUE为成功获取密码。总是返回TRUE

*/

int GetPassword(unsigned char* pszPw,int iMaxSize)

{

unsigned char ch;

int i=0;

int bIsEcho=TRUE;

//while( ! kbhit() iiMaxSize )

while( ( ch = (unsigned char)getch() ) i iMaxSize )

{

//ch = (unsigned char)getch();

bIsEcho=TRUE;

if ( ch == 13)

{

pszPw[i++]=0;

break;

}

else if ( ch = MIN_INPUT ch = MAX_INPUT) /*所有可打印字符*/

{

pszPw[i++]=ch;

}

else if ( ch == 8 i 0 ) /*退格键*/

{

pszPw[i--] = 0;

bIsEcho = FALSE;

putchar( ch );

putchar( ' ' );

putchar( ch );

}

else

bIsEcho = FALSE;

if(bIsEcho)

putchar('*');

}

pszPw[i]=0;

return TRUE;

}

int main(void)

{

int iMaxSize=80;

unsigned char pw[99];

if ( GetPassword(pw,iMaxSize) == TRUE ){

printf("\npassword=%s",pw);

}

else{

printf("\nCan not get the password!");

}

}

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

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

C语言怎样加密码变成星号

不能用scanf函数的~~~因为scanf函数输入的时候会显示输入信息的~~

用getch()函数

一下是我之前写的程序~~

你参考一下就懂的了

main()

{char a[6];

int i,j,k,z,x,y,g=0;

/*密码保护系统*/

char b[]={'w','h','0','9','1','4'};

gotoxy(11,2);

printf("*****Welcome to Student Achievement Management System*****\n");

gotoxy(28,4);

printf(" Please Input Password ");

gotoxy(50,22);

printf("Editor: OnlyTigerCan");

read1:

gotoxy(36,6+g*4);

for(i=0;i6;i++)

{ for(i=0;i6;i++)

{ a[i]=getch();

printf("*");}

k=0;

for(i=0;i6;i++)

{if(strcmp(a[i],b[i])==0) k++;}

if(k!=6)

{g++;

if(g3){gotoxy(23,4+g*4);

printf("Wrong Password! Please input again.");

goto read1;}

else printf("\n\n Too Many Times of Entering Wrong Password !");

printf("\n Press Any Key to Exit");

getch();exit(0);}

else

break;}}

这个函数还有三次有效输入密码保护功能。


分享标题:c语言显示密码为星的函数,c语言密码显示星号
分享地址:http://myzitong.com/article/dscpsho.html