• 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 *型。还有其他的方法,但是还没实现,现在先用这个方法。

  • 相关阅读:
    appdata文件夹有什么用途?C盘appdata可以删除吗?
    白话讲MyIsam和InnoDB的区别
    MVC&&MVP
    计算机程序的思维逻辑- 函数调用的基本原理
    猫狗收养所
    博客学习分类
    Android之操作SQLite
    总结---20160508
    对栈元素排序
    集合栈
  • 原文地址:https://www.cnblogs.com/kingos/p/4539655.html
Copyright © 2020-2023  润新知