zoukankan      html  css  js  c++  java
  • linux c下输入密码不回显

    今天做一个登录程序,需要屏蔽掉密码,于是自己就在网上找资料,找到了一种和linux终端下输入密码方式相同的方法,不显示在终端,具体代码实现如下。

     1 #include<stdio.h>
     2 #include<unistd.h>                //屏蔽密码的函数在这个头文件中,需要包含这个头文件
     3 #include<string.h>
     4 int main()
     5 {
     6     int i=3;
     7     char username;
     8     char password[6]={"123456"};        //定义一个初始密码
     9     printf("请输入用户名");
    10     scanf("%s",username);
    11     while(i)                    //循环判断输入的密码和初始密码是否相等
    12     {
    13         char *pass=getpass("请输入密码:");    //调用getpass函数,这个函数接受到的字符不回显在终端
    14         if(strcmp(pass,password)==0)            
    15         {
    16             break;
    17         }
    18         else
    19         {
    20             i--;
    21             printf("密码错误
    ");
    22         }
    23     }
    24     if(i==0)
    25         printf("登陆失败");
    26     else
    27         printf("登陆成功");
    28     return 0;
    29 }

    这个函数的原型为char *getpass(char* prompt),括号内可以输入一个字符串常量,函数的返回值为一个 char *型。还有其他的方法,但是还没实现,现在先用这个方法。

  • 相关阅读:
    zoj 3279 线段树 OR 树状数组
    fzu 1962 树状数组 OR 线段树
    hdu 5057 块状链表
    hdu3487 Play with Chain
    bzoj 1588营业额统计(HNOI 2002)
    poj2823 Sliding Window
    poj2828 Buy Tickets
    poj2395 Out of Hay
    poj3667 Hotel
    poj1703 Lost Cows
  • 原文地址:https://www.cnblogs.com/kingos/p/4539655.html
Copyright © 2011-2022 走看看