以下代码没有给第二个提示输入"输入消息"。我该如何解决?
cout << "Enter shifts:" << endl;
cin >> shifts;
cout << "Enter message:" << endl;
getline(cin, msg);
答案 0 :(得分:2)
尝试这个
cout << "Enter shifts:" << endl;
cin >> shifts;
cout << "Enter message:" << endl;
cin.ignore();
getline(cin, msg);
在任何地方使用cin.ignore();
之前使用getline
。
答案 1 :(得分:1)
当你输入轮班时,会有一个换行符由geline funtion读取。所以你需要忽略那个换行符。
写道:
cout << "Enter shifts:" << endl;
cin >> shifts;
getchar();
cout << "Enter message:" << endl;
getline(cin, msg);