在linux中,如果不使用系统调用getch()(为输入的每个字符立即显示*),我们如何执行密码提示操作?

在linux中,如果不使用系统调用getch()(为输入的每个字符立即显示*),我们如何执行密码提示操作?,c,linux,C,Linux,我正在为“密码提示”编写C代码。我需要为用户输入的每个字符显示*。但是getch()不支持我。所以,我尝试了系统调用 for(i=0;i<5;i++) { system("stty -echo"); scanf("%c", &a[i]); system("stty echo"); printf("*"); } for(i=0;i在没有回音的情况下键入密码相对容易,但一次只显示一个字符就不行了(在支持退格或更糟的是,箭头键的情况下这样做更难) 第一步

我正在为“密码提示”编写C代码。我需要为用户输入的每个字符显示*。但是getch()不支持我。所以,我尝试了系统调用

for(i=0;i<5;i++)
{
    system("stty -echo");
    scanf("%c", &a[i]);
    system("stty echo");
    printf("*");
}

for(i=0;i在没有回音的情况下键入密码相对容易,但一次只显示一个字符就不行了(在支持退格或更糟的是,箭头键的情况下这样做更难)

第一步是“将终端设置为原始模式”以禁用“等待整行”行为。