相关疑难解决方法(0)

从标准输入中捕获字符,无需等待按下输入

我永远不会记得我是怎么做的,因为它对我来说很少见.但是在C或C++中,从标准输入读取字符而不等待换行符的最佳方法是什么(按回车键).

理想情况下,它也不会将输入字符回显到屏幕上.我只想捕捉击键而不影响控制台屏幕.

c c++ inputstream

163
推荐指数
11
解决办法
19万
查看次数

有没有办法在不按回车键的情况下获得用户输入?

我正在编写一个控制台游戏,(pac-man),我想知道如果没有按下回车键我会得到用户输入.我稍微环顾了一下互联网,我发现了一些东西,_getch()但它显然不再是最新的,没有头文件可以声明它,除非有人建立自己的,我不能做,因为我还是新来的C++.那么我将如何构建可以执行此操作的代码?谢谢

c++ input

11
推荐指数
2
解决办法
7998
查看次数

c ++随时通过按键突破循环

我这里有一个循环,它应该每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)

我没有特别喜欢使用哪种类型的循环,只要它有效.

谢谢!

c++ loops keypress infinite-loop

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×3

c ×1

infinite-loop ×1

input ×1

inputstream ×1

keypress ×1

loops ×1