使用cin.ignore()跳过2个空格

时间:2016-11-23 04:55:15

标签: c++ cin

我想出了如何使用cin.ignore()忽略直到第一个空格。例子是

cout << "Enter your name: ";
cin.ignore(256, ' ');

如果你输入约翰史密斯,它只会读史密斯。但是,让我们说有人想做第一,中间和姓氏?像John Doe Smith一样?有没有办法忽略直到第二个空格?

编辑:为了澄清,我需要在单独的变量中使用名称的每个部分,而不是整行。

1 个答案:

答案 0 :(得分:2)

无需使用ignorecin默认停止在空白处读取。

using namespace std;

string firstName = "";
string middleName = "";
string lastName = "";

cin >> firstName;
cin >> middleName;
cin >> lastName;

如上所述,不忽视输入会更安全。请改用std::getline()