【发布时间】:2013-08-28 19:14:19
【问题描述】:
我正在编写一个简单的程序,要求用户输入一个字母。然后我要他输入一个短语。当它只是一个字符串时,我没有问题。
char c;
string s;
cin >> c;
cin >> s;
但是当我想要一个短语时
cin >> c;
getline(cin, s);
当我在用户输入一个字母并点击回车后运行程序时,我没有机会输入短语。当然,如果我键入字符并在空格后输入一个短语,程序就可以正常工作。
相反,当我输入一个字符,然后用第一种方法在空格后输入单个字符串时,它不会记录该字符串。
为什么要这样做?
【问题讨论】:
-
使用
cin.ignore()... 或者停止混合>>和getline。使用两者之一,但不能同时使用。
标签: c++