下面是一个关于 C语言中getch 函数的使用,这个函数在很多标准文档里都没有函数说明,
下面是一个基于它实现的密码加密的程序实现,希望可以供有疑问的朋友参考!:)
#include <string.h>
#include <stdio.h>
#include <conio.h>
void password(char *p)
{
int i = 0;
char ch = '0';
while(1)
{
ch = getch();
// 回车确定
if(ch == '/r') // if(ch == 13)
{
// 设置'/n'作为字符串的结束标志
p[i] = '/0';
break;
}
else if( ch == '/b' ) //else if( ch == 8 )
{
// 刚才输入的不算, 所以退格
if(i != 0)
{
i--;
// 退格清除
printf("/b /b");
}
continue;
}
else
{
// 保存正确结果, 并回显'*'
p[i] = ch;
printf("*");
}
i++;
}// end while
}
void main(void)
{
char passwd[20] = "";
printf("please :");
password(passwd);
printf("/n");
int i = 0;
while(1)
{
if( (passwd[i]=='/0')||(passwd[i]=='/n') )
{
// 把最后一位结束位的'/n'置为'/0'
passwd[i]='/0';
break;
}
// 输出
printf("%c",passwd[i]);
i++;
}
// 比较是否相等
if( !strcmp(passwd, "123456") )
{
printf("/nok.../n");
}
else
{
printf("/nno.../n");
}
// 按任意键继续
printf("/npress anyone continue ... /n");
getch();
}