如何使用 cin 使 c++ 可选?

How to make c++ using cin optional?

我想让用户从键盘输入三个字符串。例如,名字、姓氏和中间名。中间名是可选的。

下面的代码示例:

cout << "Enter your name, first name then middle name and last name (Ex: Abby Scuito S): ";
char lastName[21], firstName[21], middleName[21];
cin >> lastName >> firstName >> middleName;

问题是,当缺少第三个块时,它总是要求输入中间名,这根据 cin 的工作原理是正确的。问题是我不知道如何让它成为可选的。 例如,

  1. 输入 1:Abby Scuito A => 输出:Abby Scuito A
  2. 输入 2:Abby Scuito => 输出:Abby Scuito

将数据读入单个字符串,并用space分隔。

您可能需要进行一些过滤,但您会明白的。