c语言密码隐藏(可回删)
void PassageHide(char a[]){
char temp;
int flag = 0 , i;//flag作用是因为switch嵌套在for里用来二次跳出for循环的,
//若改用if语句结构则不需要。
for(i = 0;i < 20;i++){//20为自我设定的字符数组长度
temp = getch();
switch(temp){
case '\r':
if(i!= 0){
a[i] = '\0';
flag++;
}else{i--;}
break;
case '\b':
if(i != 0){
printf("\b \b");
i-=2;
}else{i--;}
break;
default:
printf("*");
a[i] = temp;
}
if(flag){break;}
}
if(flag == 0){
a[i] = '\0';
}
}
原理:利用getch()函数取走输入字符,并对各种情况进行判断和处理。