首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-05-13 
如何实现在C输入密码时候以*显示?小弟最近遇到了一个可能对于一些高手来说是菜鸟级的问题那就是如何在C语

如何实现在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。

热点排行