密碼輸入的非回顯法

2021-07-29 15:55:53 字數 544 閱讀 2468

最近偶然被問到乙個問題,輸入密碼時怎麼不回顯輸入的字元,而只顯示*號。雖然只是乙個小問題,但覺得有必要重視一下,個人解決方案如下:

//新增標頭檔案

#include

#include

int i = 0;

char password[10];  //陣列大小自定

//當輸入的不是回車符時,就把輸入的字元賦給陣列的第i+1個位置

while((password[i]=getch())!='\r')                        

//當輸入回車符時一定要把字串結束符賦給陣列最後乙個位置

password[i] = '\0'; 

//當輸入的字串與設定密碼一致時執行其他語句...

if(strcmp(password, "2010") == 0)

但到這還是有個問題,我的程式可以在輸入密碼時可以只顯示*號,但是不能倒退刪除輸入的字元,比如說我想輸入123,但輸成了132,螢幕顯示的是***,我想刪掉32,但顯示的是******了,暫時還沒找到有效的解決辦法。

密碼輸入的非回顯法

最近偶然被問到乙個問題,輸入密碼時怎麼不回顯輸入的字元,而只顯示 號。雖然只是乙個小問題,但覺得有必要重視一下,個人解決方案如下 新增標頭檔案 include include int i 0 char password 10 陣列大小自定 當輸入的不是回車符時,就把輸入的字元賦給陣列的第i 1個位置...

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

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

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

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