代码之家  ›  专栏  ›  技术社区  ›  Dr Deo

密码在c编程中,如果密码正确,我应该把另一个函数的函数调用放在哪里[关闭]

c
  •  1
  • Dr Deo  · 技术社区  · 16 年前
    #include<stdio.h>
    #include<conio.h>
    
    char pw[25],ch;
    int i;
     main()
    {
    
    
            printf("\n\nEnter 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;
            }
            pw[i++]=ch;
            ch='*';
            putch(ch);
            }
            pw[i]='\0';
            printf("\n\n%s",pw);
    
    
        getch();
    }
    
    1 回复  |  直到 16 年前
        1
  •  2
  •   Jonathan Leffler    16 年前

    这一要求通常意味着您希望确保偶然经过的人看不到用户键入的密码。这可能是通过关闭echo(这是Unix通常所做的)或通过回显星号或类似的内容,而不是用户输入的实际字符。

    许多版本的Unix提供了 getpass() 函数,但它在POSIX中未定义。如前所述,它保存终端模式,关闭回声,读取字符(通常丢弃第8个字符之后的任何字符),然后在返回之前恢复终端模式。