读书人

怎么实现在C输入密码时候以*显示

发布时间: 2012-05-13 16:39:43 作者: rapoo

如何实现在C输入密码时候以*显示?
小弟最近遇到了一个可能对于一些高手来说是菜鸟级的问题 那就是如何在C语言中实现模拟登陆界面即在输入密码自动能够以*的形式显示出来!不是说回车后才显示**谢谢

[解决办法]

C/C++ code
#include<stdio.h>#include<conio.h>#define N 20void GetPassWord(char *p){ printf("password:"); int i=0; while((*(p+i)=getch())!='\r') {   putchar('*');   i++;  }  *(p+i) = '\0';}int main(){    char a[N];    GetPassWord(a);    printf("\ncode is  %s", a);}
[解决办法]
#include<stdio.h>
#include<conio.h>
int main()
{char a[20];
int i=0;
printf("please enter your password:\n");
while(i<19&&(a[i]=getch())!='\r')
{if(a[i]=='\b')
{printf("\b \b");
i--;}
else {putchar('*');
i++;}
}
a[i]='\0';
printf("\nyour password is:%s",a);
getch();
return 0;}

以前看某位大大写的
[解决办法]
#include "conio.h"
#include "stdio.h"
#include "string.h"
main()
{char *c="The string for password";
int i=0;
printf ("Please input PassWord:");
while((c[i++]=getch())!='\r')printf("*");
c[i-1]='\0';
i=0;
printf("\n");
/*while((c[i]!='\0'))printf("%c",c[i++]); */
printf ("%s\n",c);
if(strcmp(c,"hello")==0)printf("\nPASS!");
else printf("\nError!");
getch();
}

也是别人写的,觉得收藏有点意思!!
[解决办法]
#include<stdio.h>
#include<conio.h>
void main()
{
char a[20];
int i=0;
printf("请输入密码\n");
while((a[i]=getch())!='\r')
{
putchar('*');
i++;
}
}







getch():
  所在头文件:conio.h
  函数用途:从控制台读取一个字符,但不显示在屏幕上
  函数原型:int getch(void)
  返回值:读取的字符
  例如:
  char ch;或int ch;
  getch();或ch=getch();
  用getch();会等待你按下任意键,再继续执行下面的语句;
  用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
  易错点:所在头文件是conio.h。而不是stdio.h。

读书人网 >C语言

热点推荐