暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C++如何实现输入暗文密码

小懵白生活小趣谈 2021-05-21
1916

Hello,大家好。今天呢,IT_小懵白将为大家介绍一种常用的技巧:C++如何实现输入暗文密码。

由于我们都知道:像使用cin、getchar等输入函数进行键盘输入时,字符都会在控制台上显示出来,根本无法隐藏密码。

    string data;
    cin>>data;
    data=getchar();
    因此呢,我们需要一种输入键盘值,但又不会显示在控制台上的函数。每当输入一个字符,利用输出函数输出字符'*'


    这就需要_getch()函数和_putch()函数的搭配使用了。

      #include<conio.h>  //头文件
      #include<iostream>


      using namespace std;


      int main(){
      char data;
        cout<<"请输入字符:";
        data=_getch();  //等待你按下任意键,然后结束
        cout<<endl<<"输入的字符为:"<<_putch(data)<<endl;
      return 0;
      }




      _getch()函数的特点为:从控制台读取一个字符,但不显示在屏幕上。而对于_putch()函数来说则为相反,其结果如下:


      知道怎么做后,接下来就可以实现C++输入暗文密码了,代码对应如下:


        string getword(){  

          string line;  //用来保存输入一行的密码的变量

        char ch;

        while (ch = _getch()) //单个字符的获取
        {
        if(ch == '\n' || ch == '\r')break;

               else if(ch==8){    //当输入退格符时    
               
                 line= line.substr(0, line.length() - 1);  //删除字符串最后一个字符

                 cout<<"\b"<<" "<<"\b";  //  光标退一个显示为空,在退一格
        }

        else{
                 _putch('*');
        line+= ch;
        }

        }
        return line;


        }
        如此就可以实现输入*的密码了。

        END 

        关于C++如何实现输入暗文密码就讲到这里了。

        此文章是为了铺垫下次详细讲解Window下,C++实现MySQL的使用,有兴趣的小伙伴们记得点击关注。

        我们下一期不见不散!

        点击上方蓝字关注我们


        文章转载自小懵白生活小趣谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论