cin >> Input; {
if(Input == "a")
Position = "first";
else if(Input == "b")
Position = "second";
else if (Input == "c")
Position = "third";
else if(Input == "Stop")
break;
}
在 cin 之后 >> 输入 我还有两个 cin 部分。由于某种原因,它跳过了 Name 的 getline。在我 cin >> 输入后它显示 Name: Status: 然后执行 getline 获取状态。
cout << "Name: ";
getline(cin, Name);
if(Name == "Stop")
break;
cout << "Status: ";
getline(cin, Status);
if(Status == "Stop")
break;
最佳答案
cin >> somevar
留下换行符。无论 somevar
是什么类型,即使是 std::string,该语句也不会读取行尾字符。因此,当您到达名称部分时,您会看到 somevar
行的行尾,这显然是空的。在尝试读取 name 之前加入一个 getline 应该没问题。
关于c++ - 基本的 cout/cin 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4839445/