-4

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

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

但是当我们输入一个字符时,它不会立即打印 *。

还有其他方法可以实现这一点???

4

1 回答 1

3

您可以使用不带回声的非规范模式。

在此处查看示例

在这个例子中,我修改了以下几行

else
    putchar (c);

else
{
    putchar (c+1);
    fflush(stdout);
}
于 2013-09-13T14:39:42.257 回答