これを Linux で動作させる必要があります。conio.h は Linux 用ではなく、主な問題は getch() 関数であることを知っています。curses.h のような別のライブラリを使用してみましたが、それでも多くのエラーが発生しました。ユーザーがパスワードを入力すると、安全上の理由から **** に変換されます。
古いコード:
#include<stdio.h>
#include<conio.h>
void main()
{
char password[25],ch;
int i;
clrscr();
puts("Enter password: ");
while(1)
{
if(i<0)
i=0;
ch=getch();
if(ch==13)
break;
if(ch==8)
{
putch('b');
putch(NULL);
putch('b');
i--;
continue;
}
password[i++]=ch;
ch='*';
putch(ch);
}
password[i]='';
printf("\nPassword enterd : %s",password);
getch();
}
@SouravGhosh の回答に基づいて更新されたコード:
#include<stdio.h>
int main(void)
{
char password[25],ch;
int i;
//system("clear");
puts("Enter password: ");
while(1)
{
if(i<0)
i=0;
ch=getchar();
if(ch==13)
break;
if(ch==8)
{
putchar('b');
putchar('b');
i--;
continue;
}
password[i++]=ch;
ch='*';
putchar(ch);
}
password[i]=' ';
printf("\nPassword enterd : %s",password);
getchar();
return 0;
}