我在Ubuntu用C++如何在我的終端上隱藏我的輸入?
如何隱藏的紅色方塊(用戶輸入),如下圖所示上面我的終端上?
char *MESSAGE=getpass("");
上面的代碼在每次輸入後都會留空行,我不希望消息在用戶輸入消息時被隱藏。
總之,我希望消息是可見因爲我打字的消息,但只要他進入我的終端上那張無形。
編輯:有人可以請賜教我如何將這個問題重複到該線程?
我在Ubuntu用C++如何在我的終端上隱藏我的輸入?
如何隱藏的紅色方塊(用戶輸入),如下圖所示上面我的終端上?
char *MESSAGE=getpass("");
上面的代碼在每次輸入後都會留空行,我不希望消息在用戶輸入消息時被隱藏。
總之,我希望消息是可見因爲我打字的消息,但只要他進入我的終端上那張無形。
編輯:有人可以請賜教我如何將這個問題重複到該線程?
您可以在發送消息後清除終端,然後重新打印整個聊天。
如果您可以先打印名稱,然後閱讀輸入消息,我認爲您的問題可能會得到解決。你嘗試過嗎?
只能使用標準C庫中的函數,即使使用Posix函數,也無法以可靠和便攜的方式執行此操作。
如果您現在正在使用Windows控制檯,並且Windows控制檯的功能可能允許您清除屏幕的特定部分,如果您知道使用符合一個標準的終端模擬器(VT100,xterm,。 ..)你可以輸出特殊的控制序列來做同樣的事情。
唯一便攜的方式是使用像curses這樣的屏幕管理庫,它可以爲你做低級別的工作。
我知道有一種清除終端的方法,但不會清除我的整個屏幕只留下最新的消息? – Lozy
清除終端意味着寫入的所有內容都將消失。既然您希望聊天可見,您可以在每次輸入後打印整個聊天。這假定你在某處存儲聊天內容。 – Shiro