我想CIN >>輸入,但是當他們輸入的東西,我不希望它顯示給他們。就像當你在unix中使用passwd來更改你的密碼時,它不會顯示你輸入的內容。我希望很清楚我在問什麼。先謝謝你。
密碼的隱形輸入?
回答
如果你想要的是一樣的東西,當你輸入登錄到Linux機器的密碼,您做什麼,這種行爲不能用C或C實現++。你將不得不使用平臺專用庫來做到這一點。更具體地說,C和C++中的控制檯輸入總是回顯給控制檯。
cin
是不是這樣做的方法,因爲操作系統(通常情況下)相呼應標準輸入。您需要做的是在操作系統級別處理關鍵事件。
這不是一個標準的C++的功能 - C++甚至不需要你的系統有一個鍵盤或屏幕。這意味着每個操作系統和供應商都會有所不同。 有關特定安裝的詳細信息,請閱讀編譯器隨附的文檔。
RTFM是最佳答案?真? – indiv 2010-08-30 23:04:17
@indiv - 經常,是的。 – 2010-08-30 23:36:48
有getpass(3)
類Unix系統,這將做你想做的。
然而,
- 這不是便攜式(僅適用於Unix系統)。
- 它棄用(「目前在SUSv2,但標記的遺產。在POSIX.1-2001刪除了。」)。
沒有辦法用標準C或C++這樣做。
它檢測到按鍵。這樣想:當用戶在視頻遊戲中按下'A'鍵時,程序運行代碼;不要把它當作接受投入。可以把它看作檢測擊鍵並將每個按鍵添加到某些數據結構(例如數組)。
我對UNIX終端的功能很熟悉,你所說的並不允許你退格或任何東西。如果你想要這個功能,就按照上面所說的去做。
如果你想能退格,雖然用戶將無法看到他們退格鍵,您可以編寫代碼,當用戶點擊退格鍵,消除數組的最後一個元素。
另外,當他們說你需要對你正在運行的系統進行特定的編程時,其他人都是正確的。
最後,如果您使用密碼並將其引入數組中,則這可能不安全。
- 1. 輸入時隱藏輸入密碼(shell)
- 2. 進入後隱藏輸入文本,輸入後隱藏密碼
- 3. Ruby隱藏的輸入密碼
- 4. ASP.NET隱藏輸入密碼的長度
- 5. 在python中隱藏密碼輸入
- 6. 隱藏密碼用戶輸入提示
- 7. Python:如何在屏幕上輸入密碼時「星號輸出」/隱藏密碼?
- 8. 爲密鑰輸入密碼
- 9. UIWebView,輸入密碼
- 10. 陳舊的輸入被輸入密碼
- 11. 寄存器輸入隱形
- 12. 輸入值隱形用PHP
- 13. 奇怪的輸入文本和輸入密碼擦除默認輸入密碼
- 14. 在基於Inno的設置中輸入密碼時隱藏密碼
- 15. 使用密碼輸入時的Edittext字段不會隱藏密碼
- 16. 測試密碼的輸入
- 17. 不能隱藏角密碼形式
- 18. 如何顯示和隱藏輸入密碼輸入類型的文本
- 19. 值輸入密碼字段輸入值
- 20. 如何在輸入時隱藏密碼的字母
- 21. asp.net mvc textboxfor隱藏密碼輸入的文本
- 22. Symfony的 - 註冊系統 - 確認密碼,並隱藏輸入
- 23. 提交表格後隱藏密碼的輸入值
- 24. 最乾淨的方式來隱藏密碼輸入字段?
- 25. 隱形谷歌驗證碼驗證時用戶的輸入
- 26. 輸入提交中的隱形填充
- 27. 將子彈點的密碼輸入更改爲正方形
- 28. 禁用輸入密鑰的形式
- 29. 是否可以將用戶輸入隱藏爲「sudo」密碼輸入?
- 30. 使用節點靜默捕獲CLI輸入(即隱藏密碼輸入)
這聽起來像一個控制檯配置。 – Leonid 2010-08-30 22:24:56
重複的http:// stackoverflow。com/questions/1413445/read-a-password-from-stdcin – tcrosley 2010-08-30 22:28:34
ncurses可以用於這個嗎?我知道這不是標準的C++庫,但它可能正是OP所需要的。快速搜索顯示,如果使用cygwin或pcurses,則使用ncurses也可以移植到Windows。 – 2010-08-30 22:38:42