我正在寫一個簡單的程序,要求用戶輸入一個字母。然後我想讓他輸入一個短語。當它只是一個單一的字符串,我沒有問題。要求用戶輸入一個字符,然後輸入一個字符串
char c;
string s;
cin >> c;
cin >> s;
但是,當我想要一個短語
cin >> c;
getline(cin, s);
當我運行該程序的用戶輸入一個字母后點擊進入我沒有得到一個機會,輸入的短語。當然,如果我輸入字符並在空格後面輸入一個短語,程序就可以正常工作。
相反,當我輸入一個字符,然後在使用第一個方法的空格後輸入單個字符串時,它不會記錄該字符串。
它爲什麼這樣做?
使用'cin.ignore()'...或者只是停止混合'>>'和'getline'。使用其中一個,但不能兩個。 –