简单的密码不回显函数。
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int chcode() {
char input_pwd[50],ch;
char init_pwd[50] = "123456"; // 原始密码
int top;
int n=3;
printf("请输入密码:");
while(n--) {
top = 0;
while((ch = _getch()) != '\r') {//新标准用_getch(), getch()被抛弃
if(ch == '\b' && top > 0) {
printf("\b \b"); // 空格+\b 是为了覆盖掉原来的字符
top--;
}
else if(ch != '\b') {
input_pwd[top++] = ch;
printf("*");
}
}
input_pwd[top] = '\0';
printf("\n");
if(strcmp(input_pwd,init_pwd) != 0) {
printf("密码错误,请重新输入!\n");
}
else {
printf("密码正确!\n");
system("pause");
return 1;
}
}
printf("连续3次输入错误,退出!\n");
system("pause");
return 0;
}
int main() {
int login = chcode();
if(login) printf("登陆成功\n");
else printf("登录失败!\n");
return 0;
}