我想出了如何使用 cin.ignore() 来忽略直到第一个空格。例子是
cout << "Enter your name: ";
cin.ignore(256, ' ');
如果您输入 John Smith,它只会显示为 Smith。但是假设有人想做名字、中间名和姓氏?像约翰·多·史密斯?有没有办法忽略直到第二个空格?
编辑:为澄清起见,我需要名称的每一部分都在一个单独的变量中,而不是整行。
最佳答案
不需要使用ignore
。 cin
默认在空白处停止读取。
using namespace std;
string firstName = "";
string middleName = "";
string lastName = "";
cin >> firstName;
cin >> middleName;
cin >> lastName;
并且如上所述,不忽略输入要安全得多。请改用 std::getline()
。
关于c++ - 使用 cin.ignore() 跳过 2 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40756332/