风阵阵吹过来~ 2021-06-12 17:19 采纳率: 0%
浏览 42

c语言密码用*号代替并且按下另一键显示密码,并且可会删

c语言密码用*号代替并且按下另一键显示密码,也可以会删,删到(请输入:)这个地方就不能继续了

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-06-12 17:19
    关注

    这个用putchar 替代printf就可以。可以参考Mysql输入密码的实现。

    
    #include <conio.h>
    #include <stdio.h>
    #include<windows.h>
    #include <time.h>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    #pragma warning(disable:4996)
    
    #include <iostream>
    #include <string>
    #include <conio.h>
    using namespace std;
    void main()
    {
    	char ch;
    	string text;
    	cout << "请输入明文:" << endl;
    	
    	do
    	{
    		ch = getch();
    		if (ch == 13) {
    			break;
    		}
    		if (ch == 8) {
    			system("cls");
    			cout << "请输入明文:" << endl;
    			text.pop_back();
    			for (int i = 0; i < text.size(); i++) {
    				putchar('*');
    			}
    		}
    		else {
    			text += ch;
    			putchar('*');
    			
    		}
    	} while (ch != 13);
    	cout << endl << "密文为:" << endl;
    	cout << text << endl;
    	system("pause");
    }
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图