当前位置:首页 » 编程语言 » 密码不显示c语言

密码不显示c语言

发布时间: 2022-11-07 21:56:37

‘壹’ c语言中,用什么函数可以使输入的字符不显示在屏幕上

getpass()函数可以使输入的字符不现实在屏幕上。
#include
<conio.h>
int
main(void)
{
char
*password;
password
=
getpass("Input
a
password:");
cprintf("The
password
is:
%s\r\n",
password);
return
0;
}
你试一试这个

‘贰’ C语言如何实现输入密码以星号显示

C语言中可采用getch()函数来实现输入密码字符时,不显示字符到终端上,这时,只需要显示出一个相应的*就可以达到效果了。参考代码及运行效果如下图:

‘叁’ C语言 如何不回显密码

#include <unistd.h>
#include<stdio.h>
#include <termios.h>
char Getch()
{
char ch;
struct termios oldt, newt;

tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ECHO|ICANON);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
return ch;
}
void getpasswd(char *p)
{
int i=0;
printf("password:");

while((*(p+i)=Getch())!='\n')
{
putchar('*');
i++;
}
*(p+i) = '\0';
}
int main()
{
char a[10];
getpasswd(a);
printf("%s",a);
}

‘肆’ 关于C语言中的密码问题

有办法,但有个地方你要改,就是这里:gets(Password);

你记得C语言里本来有三个字符输入函数
getch(), getche(), getchar()
三个函数各有不同,其中getchar()会显示,要回车, getch()不显示,不回车
getche()这个。。。恕我直言,忘了。。。不过我们用不到它

用到的就是getch()这个函数的特性,只管输入,它不会显示在屏幕上你输入的内容。那它不会显示,我们~~给它加一个显示的好咯,printf("*");
但别忘了,getch()是字符输入,不是字符串,估计得用循环咯

程序首部加上char ch;
然后你的gets(Password);删掉换成下边的:
while(1)
{
if((ch = getch()) == 27)
{
break;
}
printf("*");
//注意下面的内容,想办法把ch这个字符填加到Password这个字符串里
//方法嘛,我想你可以想出来的吧,这里我不写了,有问题HI我吧
}
注意上边是个死循环,唯一的出口就是那个break,27是ESC键的ASCII码,这里我就设置了如果输出中按了ESC键,则跳出循环,停止输入,你可以换成回车或其它键的ASCII码,自由定。

‘伍’ C语言不回显密码输入界面

#include<stdio.h>
intmain(void)
{
charc1='',c2='',c3='';
inti=0;
c1=getch();
putchar('*');
c2=getch();
putchar('*');
c3=getch();
putchar('*');
return0;
}

‘陆’ c语言如何隐藏登陆密码

#include<conio.h> //这个头文件不是标准库函数的,一般编译器是有的,但是 unix和linux编译器是没有的
#define PASSWORD "123456"

int password()
{
char
p[20],i=0;
system("cls");
printf("请输入密码 => ");

while(p[i]=getch())
{
if(p[i]==13)
break;
if(p[i]!='\b')
{
printf("*");
i++;
}
else
{
printf("\b
\b");
i--;
}
}
p[i]='\0';

if(strcmp(p,PASSWORD)==0)

{
printf("验证通过");
press();
return 1;

}
else

{
printf("密码错误");
press();
return 0;

}
}

‘柒’ 用c语言写登录时,如何将输入的密码显示为*号

要删除*号的话,稍微改一下if(pwd==8)的处理,比如:
if(pwd==8)
{
if (zu > 0)
{
zuce.Pwd[zu-1]='\0';
zu--;
printf("%c",(char)8);
printf(" ");
printf("%c",(char)8);
}
// continue;
}else
用C的话密码可能差不多就这样处理吧,当然你的程式还需要改进一下,比如如果输入的超过数组的容量就skip掉,避免内存溢出。还有对一些无效的字符比如箭头按键,tab键等都skip掉,也就是限制合法字符的范围。

‘捌’ 最新的Linux下的c语言怎么隐藏输入的登录密码,并回显为* 不要getch()它没用

在linux中getch可以做到不回显,但是用法比windos中复杂一点点,以下是简单实现,密码设为6位,可以按退格修改,就只写了这些功能,望采纳
#include<stdio.h>
#include<curses.h>
int main()
{
int i,j=0;
char ch;
initscr();
cbreak();
noecho();
curs_set(0);
for(i=0;i<6+2*j;i++)
{
ch=getch();
addstr("*");
if(i)
{
if(ch==127)
{
j++;
move(0,i+1-2*j);
clrtoeol();
}
}
}
getch();

endwin();
return 0;
}

‘玖’ C语言将密码设为隐身形式该使用什么函数

输入的时候隐藏密码显示星号'*'的功能吧?

没有直接可调用的函数,用getch(),这个函数读取字符不显示,然后每读取一个字符后面跟着输出一个‘*’

#include<stdio.h>
intmain()
{
charc;
while(1)
{
c=getch();
if(c!=' ')
putchar('*');
else
break;
}
}
热点内容
安卓手机涨价怎么办 发布:2025-01-11 23:27:17 浏览:711
三消游戏服务器搭建 发布:2025-01-11 23:20:01 浏览:246
c语言的函数不可单独进行编译 发布:2025-01-11 23:12:33 浏览:17
怎么查信用卡查询密码 发布:2025-01-11 23:11:08 浏览:572
javaexcel源码 发布:2025-01-11 23:11:04 浏览:557
讨论会脚本 发布:2025-01-11 23:09:27 浏览:574
test服务器搭建 发布:2025-01-11 23:03:22 浏览:421
微信里的密码和账号在哪里 发布:2025-01-11 22:46:04 浏览:752
java字符串个数统计 发布:2025-01-11 22:45:05 浏览:543
完美国际2捏脸数据库 发布:2025-01-11 22:45:04 浏览:281