我有以下代码:问题与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