gpt4 book ai didi

c++ - 使用 `getline(cin, s);` 后使用 `cin >> n;`

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:46:30 25 4
gpt4 key购买 nike

int n;
std::cin >> n;

std::string s = "";
std::getline(cin, s);

我注意到,如果我使用 cin,我的程序会在下次到达 getline(cin, rangeInput) 行时挂起。

由于 getline() 使用了 cin,如果我以前使用过 cin,这就是导致程序挂起的原因吗?使用cin后想得到一行怎么办?

最佳答案

您需要清除输入流 - 尝试在您的 cin 之后添加以下内容:

cin.clear();
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

this 的公认答案问题很好地解释了为什么/何时需要这样做。

关于c++ - 使用 `getline(cin, s);` 后使用 `cin >> n;`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com