我这里有一个循环,它应该每500毫秒读取一台设备上的输出.这部分工作正常.但是,当我尝试引入cin.get来拾取被按下以停止循环的键"n"时,到目前为止,我只获得与按键次数一样多的输出.如果我按任意键(除了'n')几次然后输入,我会得到更多的输出.我需要的是循环保持循环,没有任何交互,直到我希望它停止.
这是代码:
for(;;)
{
count1++;
Sleep(500);
analogInput = ReadAnalogChannel(1) / 51.0;
cout << count1*0.5 << " " << analogInput << endl;
outputFile << count1*0.5 << ", " << analogInput << endl;
if (cin.get() == 'n') //PROBLEM STARTS WITH THIS INTRODUCED
break;
};
Run Code Online (Sandbox Code Playgroud)
我的输出如下(在程序中有两个按键进入此阶段)除非我按几个键然后输入:
0.5 0 // as expected
1 2 // as expected
should be more values until stopped
Run Code Online (Sandbox Code Playgroud)
我没有特别喜欢使用哪种类型的循环,只要它有效.
谢谢!