linux — маскировка паролей в Ubuntu в Stack Overflow

Я недавно сделал программу, которая использует 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;
}

2

Решение

Вы можете использовать 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,

2

Другие решения

getpass функция может помочь.

2

Я предлагаю использовать getch () с осторожностью. <conio.h> это очень старая библиотека, и часто меняется с ОС на ОС. Во многих случаях read является альтернативой getch,

Увидеть

http://www.cplusplus.com/forum/articles/7312/#msg33734

1
По вопросам рекламы [email protected]