Я недавно сделал программу, которая использует getch()
замаскировать введенный пароль. Но он дает доступ сразу после ввода правильного кода, не дожидаясь нажатия клавиши ввода. какие изменения должны быть сделаны? Также является getch()
разрешено в Ubuntu? Если нет, какую альтернативу следует использовать?
Мой код выглядит так. Я уже дал пароль по умолчанию в другой функции.
char pass[4];
cout << "\nEnter Administrator Password: ";
for (i = 0; i < 4; i++)
{
pass[i] = getch();
cout << "*";
}
for (i = 0; i < 4; i++)
{
if(admin_pass[i] == pass[i])
return 1;
else
return 0;
}
Вы можете использовать getpass()
следующее,
#include<stdio.h>
#include<unistd.h>
#include<string.h>char *pass=getpass("\nEnter Administrator Password: ");
if(strcmp(admin_pass,pass)==0)
return 1;
else
return 0;
Функция getpass()
определяется в заголовочном файле unistd.h
,
getpass
функция может помочь.
Я предлагаю использовать getch () с осторожностью. <conio.h>
это очень старая библиотека, и часто меняется с ОС на ОС. Во многих случаях read
является альтернативой getch
,
Увидеть