我有以下代碼:問題與CIN時空格輸入,使用string類
的main.cpp
#include <iostream>
#include <string>
using namespace std;
string name;
string age;
int main() {
cout <<"Name: ";
cin >> name;
cout << endl;
cout <<"Age: ";
cin >> age;
cout << endl;
cout << "Your name is " << name << ", and you are " << age << " years old." << endl;
cout << "Press enter to close this application" << endl;
getchar();
return 0;
}
我注意到,如果我把一個空間,我輸入名稱,它贏了給我一個輸入姓名的機會,並且它會查看年齡之後的空間。我很抱歉,如果這是一個新手的錯誤,這可能是。我之前編寫過Java,並決定改用C++,因爲它更適合我的需求。我也可能將我的代碼格式化爲符合您的標準,如果您願意,請糾正它。
我也注意到另一個錯誤,這是我從來沒有真正在Java中有任何問題。我無法弄清楚如何防止它在完成處理時立即關閉。我聽說你可以使用「system。(」pause「);但我也被告知不使用它,我對使用什麼感到困惑,我聽說過使用getchar();但是它似乎並沒有做任何事情。
任何幫助將不勝感激,因爲我是一個初學者,當涉及到C++。
@chris我想選擇你的評論作爲答案,但我真的不認爲它會讓我。感謝您的幫助。你介意重新發布這個還是某個答案,以便我可以選擇它? – 2012-07-12 23:19:48
我決定在您的評論之前做出更詳細的回答。如果你想閱讀它,它就在那裏(希望沒有微妙的錯誤)。 – chris 2012-07-12 23:28:52
呵呵,你的'getchar'不起作用的原因與我的第一個替換'system(「pause」)的例子不起作用的原因是一樣的。它在答案中解釋。 – chris 2012-07-12 23:36:59