CS 学生刚开始使用 C++,我很难理解 cin 和 getline() 如何读取数据。
string str_1 = "";
cin >> str_1; // User enters "John(Enter)"
我的理解是 cin >> 将在输入缓冲区中查找数据,如果没有找到它会提示用户。然后它将读入“John”,在缓冲区中留下一行 return \n。
如果之后调用 getline() ,它将看到 \n 并且什么都不返回,对吗?
如果接下来调用 cin 它将按预期工作,为什么 cin 看不到缓冲区中的行返回并终止?