与 CIN 一起使用的 getline() 函数

getline() function used with cin

本文关键字:getline 函数 CIN 一起      更新时间:2023-10-16
int main(){ 
    string name, StudentNumber, Marks;
    cout << "Enter name:n";
    cin >> name;
    cout << "Enter space separated class marks:n";
    getline(cin, Marks);
    cout << "n";
    cout << Marks;
}

当我运行上面的代码时,getline(cin, Marks)语句被跳过并且程序终止,即用户无法输入类标记。我尝试稍微修改代码:

int main(){ 
    string name, Marks;
    cout << "Enter name:n";
    cin >> name;
    cout << "Enter space separated class marks:n";
    cin >> Marks;
    getline(cin, Marks);
    cout << "n";
    cout << Marks;
}

这是我得到的输出:

Enter name:
John
Enter space separated class marks:
78 76 54 79
 76 54 79

第一个标记 (78( 尚未添加到变量 Marks 中。有人可以帮忙解释为什么会发生这种情况吗?我是C++新手。

这样写

    int main(){ 
        string name, Marks;
        cout << "Enter name:n";
        cin >> name;
        cout << "Enter space separated class marks:n";
getline(cin, Marks);
    cout << "n";
    cout << Marks;