问题描述
我有一个连续的while
循环,在该循环中,我会无限期地获取用户输入,直到用户没有输入任何内容(即,按Enter键或遇到EOF为止)( Ctrl + D )。
第一次尝试,我使用getline
函数。
while (true)
{
if (not (std::getline(std::cin,sm)) or sm.empty())
break;
}
它工作正常,在没有输入或EOF的情况下退出循环。
第二次尝试时,我使用标准的cin
:
while (true)
{
if (not (std::cin >> sm) or sm.empty())
break;
}
在这种情况下,它不再按预期工作。当用户按下Enter键时,它不会退出循环,只有在进入EOF时它才会退出。
有什么区别?我在这里想念什么?
任何帮助将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)