char* hidden_input(void)//隐藏式输入密码,用法:strcpy(*dest,hidden_input()),输入密码到给定字符串里
{
stdin->_IO_read_ptr = stdin->_IO_read_end;//清空缓冲区
static char p[21]={};
int i=0;
do
{
p[i]=getch();
if((int)p[i]==10)//是回车
{
p[i]='\0';
break;
}
if((int)p[i]==127)//是退格
{
if(i==0)
{
printf("\a");
continue;
}
i=i-1;
printf("\b \b");
}
else
{
i=i+1;
printf("*");
}
}while(p[i]!='\n' && i<20);
printf("\n");
if(i==20)
{
p[19]='\0';
printf("密码请不要越界哦\n");
}
if(p[0]=='\0')
{
printf("密码为空,已自动置为初始密码\n");
strcpy(p,"123456");
anykey_continue();
}
return p;
}
3.短暂显示
void msg_show(const char* msg, float sec)//短暂显示提示信息
{
printf("%s",msg);
fflush(stdout);
usleep(sec*1000000);
}
4. 按任意键继续
void msg_show(const char* msg, float sec)//短暂显示提示信息
{
printf("%s",msg);
fflush(stdout);
usleep(sec*1000000);
}