C語言程式設計中實現輸入密碼回顯星號

2021-07-08 16:38:33 字數 1146 閱讀 5576

眾所周知,乙個良好的密碼輸入程式是在使用者輸入密碼時不顯示密碼本身,只回顯星號。或者,在安全性要求更高的某些程式中,什麼都不顯示。那麼,在c語言中如何實現它呢?

getc()和getchar()函式想必大家都經常用到,但它們都在輸入的同時顯示輸入內容,並由回車終止輸入。為了不顯示輸入內容,我們呼叫另外乙個函式getch(),它包含在標頭檔案中。該函式可以在輸入的同時不顯示輸入內容,並在輸入完成後不需回車而自動終止輸入。與此同時,該標頭檔案中還包含另外乙個函式getche(),它和getch()功能相同,唯一的區別是輸入的同時顯示輸入的內容。本文我們只用到getch();

一、輸入密碼回顯星號

#include

<

stdio.h

>

#include

<

conio.h

>

#include

<

ctype.h

>

#define

max_passwd_len 16

char

passwd

[max_passwd_len +1

]="";

char

*getpasswd()

elseif(

i>0 &

&c==

'\b')}

putchar

('\n');

passwd[i

]='\0'

;return

passwd;}

二、輸入密碼不回顯

與回顯星號的**基本相同,只是去掉列印輸出的**。

#include

<

conio.h

>

#include

<

ctype.h

>

#define

max_passwd_len 16

char

passwd

[max_passwd_len +1

]="";

char

*getpasswd()

elseif(

i>0 &

&c==

'\b')}

passwd[i

]='\0'

;return

passwd;}

C語言程式設計中實現輸入密碼回顯星號

眾所周知,乙個良好的密碼輸入程式是在使用者輸入密碼時不顯示密碼本身,只回顯星號。或者,在安全性要求更高的某些程式中,什麼都不顯示。那麼,在c語言中如何實現它呢?getc 和getchar 函式想必大家都經常用到,但它們都在輸入的同時顯示輸入內容,並由回車終止輸入。為了不顯示輸入內容,我們呼叫另外乙個...

C語言 輸入回顯為星號

使用getch 函式 include intgetchar void 在c語言中,getch 函式用於從stdio流中讀字元,即從控制台讀取乙個字元,但不顯示在螢幕上 我們不需要從緩衝區讀取字元,每個輸入都直接被讀取 這裡我們通過 max 來決定輸入的最大長度,當輸入字元時會回顯 當按下回車鍵後就會...

使用 getch 函式實現密碼的無回顯輸入

getch 是windows的conio.h中的乙個庫函式,用於讀取鍵盤輸入的資料。getch 函式沒有緩衝區,在鍵盤輸入乙個字元後會立即讀取,不需要等待回車鍵按下。getch 的特別之處是它沒有回顯,使用者看不到輸入的字元。目標 模擬密碼輸入,用 回顯 約束密碼位數,設定為10 16位 能夠使用刪...