密碼不顯示c語言
『壹』 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='