如何在不使用C ++键入单词的情况下仅输入Enter就可以停止cin >>?

时间:2019-02-16 06:33:02

标签: c++

即使我按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消息和其他自定义消息。

1 个答案:

答案 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;
}