我需要以下程序来获取整行用户输入并将其放入字符串名称中:
cout << "Enter the number: ";
int number;
cin >> number;
cout << "Enter names: ";
string names;
getline(cin, names);
在 getline()
命令之前使用 cin >> number
命令(我猜这是问题所在),它不允许我输入名字。为什么?
我听说过关于 cin.clear()
命令的一些信息,但我不知道它是如何工作的,也不知道为什么它是必要的。
最佳答案
cout << "Enter the number: ";
int number;
cin >> number;
cin.ignore(256, '\n'); // remaining input characters up to the next newline character
// are ignored
cout << "Enter names: ";
string names;
getline(cin, names);
关于c++ - 在 cin 之后使用 getline(cin, s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739937/