即使我按Enter键,为什么cin仍会继续提示?
#include <iostream>
using namespace std;
int main(){
string name = "";
cout << "What's your name?";
cin >> name;
cout << "Hello "";
if (name == "")
cout << "World!";
else
cout << name + "!";
return 0;
}
我希望cin >>在我按Enter键时停止而不输入任何单词,因此如果用户不输入任何内容,它将显示默认的Hollow World消息和其他自定义消息。
答案 0 :(得分:3)
cin >> name;
会保持阅读状态,直到您输入内容为止。您需要一个仅读取一行的函数。该功能称为getline
。
#include <iostream>
#include <string>
using namespace std;
int main(){
string name = "";
cout << "What's your name?";
getline(cin, name);
cout << "Hello "";
if (name == ""){
cout << "World!";
else
cout << name + "!";
return 0;
}