while (std::cin >> str)意外退出

ken_scott 2015-01-31 04:11:50

std::string command;
while (std::cin >> command)
{
if ("exit" == command)
{
break;
}
}


程序有多个子线程,但其他线程都没有使用标准输入输出这些东西
现在知道的是,没有人做任何输入操作,但上面的while却退出了(看日志得出)
不明白为什么,请问有什么可能?
...全文
110 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ken_scott 2015-01-31
  • 打赏
  • 举报
回复
如果没找到原因,就先改成这样了:

    while (true)
    {
        std::string command;
        std::cin >> command;
        std::cin.sync();
        std::cin.clear();
        if ("exit" == command)
        {
            break;
        }
    }

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧