[英]Getline always ignoring first word of input c++
我在使用這段代碼時遇到了問題。 我希望它包含 2 個單詞,但它總是忽略第一個單詞然后使用第二個單詞。 如果我輸入 3 個詞,它會完美地工作並拾取最后的 2 個詞。 對此的提示是這些要點。
你如何使它正常工作?
string fullName;
cout << "What is your full name" << endl;
cin >> fullName;
getline(cin, fullName);
cout << fullName << endl;
cout << endl;
cin >> fullName;
讀取全名的第一個單詞。
getline(cin, fullName);
在第一個單詞之上讀取名稱的 rest。 計算機程序完全按照您的指示進行操作,如果這是錯誤的做法,則不會表現出零憐憫。
所以給定約翰·雅各布·金格海默·施密特
cin >> fullName; // reads John into fullname
getline(cin, fullName); // reads Jacob Jingleheimer Schmidt into fullname,
// replacing John
cout << fullName << endl; // prints Jacob Jingleheimer Schmidt
刪除cin >> fullName;
getline(cin, fullName); // reads John Jacob Jingleheimer Schmidt into fullname,
cout << fullName << endl; // prints John Jacob Jingleheimer Schmidt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.