在main
中,我让用户能够输入停止应用程序的命令:
while( run_processes && cin >> command_line_input ){
我还想通过设置run_processes = false;
来停止应用程序。
但是,当我将run_processes
设置为false
时,如果没有用户输入输入,上述循环就不会停止。
如果没有用户输入输入,我怎样才能正确中断循环?
答案 0 :(得分:6)
无法以便携方式中断std::cin
。
然而,您可以解析为非便携式解决方案,例如手动poll()
UNIX系统上的标准输入,并在轮询时检查run_processes
。
答案 1 :(得分:0)
cin不一定依赖于用户输入 继续?
是的,用户必须在每个循环中输入输入。
bool stop = false;
std::string command;
int count = 0;
while(stop==false && std::cin>>command)
{
++count;
std::cout<<count<<std::endl;
}
输入内容后,上面的代码只计算+1。 除非您根据用户输入更改run_process的值,否则我不明白它为什么不能工作...?