0
我正在編寫一個C程序,該程序需要在程序執行期間隱藏用戶鍵入的字符。例如,當運行以下循環時,控制檯顯示閃爍的光標(這很好)。但是,當用戶在鍵盤上鍵入鍵時,這些鍵將被回顯到控制檯。爲了形象化的更好:在程序執行期間從回顯輸入中停止Linux控制檯
第1步:啓動程序
[email protected]:/home/root# ./program
_
第2步:用戶類型的某些字符(即使他不應該)
[email protected]:/home/root# ./program
AdajfsaSJ_
字符得到呼應的安慰。我怎樣才能阻止呢?我知道這在理論上是可行的,但我無法找到如何實施它。
如果您需要一個更好的示例來實現我想要的功能,請在空串行端口上使用screen
命令。例如,screen /dev/tty30
。這清空控制檯並運行程序,但是,用戶不能輸入任何字符(有一個閃爍的白色光標塊,沒有鍵盤字符被回顯到控制檯)。這就是我需要的。
任何見解都會有所幫助,謝謝!
使用['termios()'](http://man7.org/linux/man-pages/man3/termios.3.html)關閉'ECHO'標誌。 – Barmar
感謝@Barmar,那就是我一直在尋找的東西。如果你把它寫成答案,我很樂意將其標記爲正確的。另外,你知道是否可以隱藏閃爍的光標嗎? – travisjayday