2
我有這個代碼是爲了在終端登錄屏幕上隱藏我的密碼。登錄後,輸入全部仍爲空白。如何在getline
完成後將其設置爲正常狀態,例如回到默認狀態?如何在關閉回顯後再次輸入字符?
#include <iostream>
#include <string>
#include <termios.h>
#include <unistd.h>
using namespace std;
int main()
{
termios oldt;
tcgetattr(STDIN_FILENO, &oldt);
termios newt = oldt;
newt.c_lflag &= ~ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
string s;
getline(cin, s);
return 0;
}//main
請將您找到的解決方案寫爲答案並接受(只要您被允許)。 – MvG 2012-08-15 19:46:48
...或以允許的形式存在,所以我們在未回答的問題查詢中看不到這一點。謝謝。 – 2012-11-22 23:06:26
@MvG和Barnabas:我已經添加了問題主體的答案,增加了一些細節(鏈接和解釋),作爲獨立的答案,因爲他似乎忽略了您的請求。我還提交了一個編輯,從問題主體中刪除他的回答。 – 2013-04-19 18:49:18