linux 下的 vim编辑器 C语言密码不显示输入的 显示(*)

密码加密!

1.windows  下的编辑器  C语言不显示输入的数  显示(' * ') (输入字符串)

 

#include <stdio.h>
#include <string.h>
#include <conio.h>

char* mimainput()
{
	char pp[100];
	int i=0,j=0;
	printf("请输入密码:");
	while(i<100)
	{
		pp[i]=getch();//getch()从控制台输入一各字符但是不显示 
		if(pp[i]=='\b' && i>0)  //遇到回车不管 
		{
			continue;
		} 
		if(pp[i]=='\b' && i==0)	//如果在最开始就按退格键,就让i=-1 
		{
			i=0;
			continue;
		}
		if(pp[i]=='\r')     //如果输入的是回车,就退出输入循环 
		{
			break;
		}
		i++;
		putchar('*');
	}
	pp[i]='\0';
	return pp;
}

int main(){
	char w[100];
	strcpy(w,mimainput());
	printf("密码:"); 
	puts(w);
	return 0;
}

Linux  下 vim C语言 输入的数不显示  显示 (' * ') (输入字符串)

#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<stdlib.h>
#include<time.h>
#include<termio.h>   //这个头文件一定要


int getch(void);                              //不显示函数

int main()
{
    char nn[1000];
    int i=0;
	int j=0;
	while(i<100)
	{
		nn[i]=getch();//getch()从控制台输入一各字符但是不显示 
		if(nn[i]=='\b' && i>0)  //遇到空格不管 
		{
			continue;
		} 
		if(nn[i]=='\b' && i==0)	//如果在最开始就按退格键,就让i=-1 
		{
			i=0;
			continue;
		}
		if(nn[i]=='\r')     //如果输入的是回车,就退出输入循环 
		{
			break;
		}
		i++;
		putchar('*');
	}
	nn[i]='\0';
	printf("\n");
    printf("%s",nn);
	//


}









int getch(void)
{
     struct termios tm, tm_old;
     int fd = 0, ch;
 
     if (tcgetattr(fd, &tm) < 0) {//保存现在的终端设置
          return -1;
     }
 
     tm_old = tm;
     cfmakeraw(&tm);//更改终端设置为原始模式,该模式下所有的输入数据以字节为单位被处理
     if (tcsetattr(fd, TCSANOW, &tm) < 0) {//设置上更改之后的设置
          return -1;
     }
 
     ch = getchar();
     if (tcsetattr(fd, TCSANOW, &tm_old) < 0) {//更改设置为最初的样子
          return -1;
     }
    
     return ch;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值