c++ - C++ 在不停止无限循环的情况下获取用户输入
问题描述
我正在做一个 c++ 项目,我应该在其中模拟传感器(温度、湿度、压力等),以不同的采样频率实时工作。
为此,我创建了一个无限循环。我希望用户能够退出循环。我的问题是,如果我尝试使用传统方法(cin、scanf、getc 等)获取用户输入,则循环将停止。
此外,我需要控制台来显示示例。
如果没有这些方法,您如何获得用户输入(任何输入都可以)?
这是我的代码原型:
while(!user_input){
sampling_functions();
display_samples();
}
提前致谢 :)
解决方案
如果您想在没有回车键的情况下执行此操作,您将不得不变得复杂。您可以编写一个实际的 GUI 程序来监视按键事件。或者您可以编写一个ncurses
程序,将终端置于原始输入模式,这样您就可以在输入原始键时看到它们。
您可以在不实际使用 ncurses 的情况下执行后者。这个答案可能会帮助你:
如果您这样做,请确保在程序退出之前将终端恢复为非原始模式,否则您的用户会对您感到沮丧。
这是你在这里的第一个问题。我不知道您是经验丰富的程序员还是学校的学生。如果您是在校学生,您可能需要考虑这对您来说有多重要。
推荐阅读
- reactjs - 在 Redux reducer 中访问全局状态?
- javascript - 使用 cookie 启用 4 位密码自动填充
- c# - 为 Vsto Office 插件中的 XAML 声明 xmlns:self 时出现 CS1061 错误
- python - string.isupper 和 string.islower 似乎不起作用?
- jqgrid - 在 jqgrid 中添加公式
- google-colaboratory - google colab - 端口转发
- python - 素数指示器将大量非素数指示为素数
- c++ - 成员函数指针的 std::invoke 替换失败
- python-3.x - Pandas Dataframe 在列上添加值,并在前面跳跃值
- smartcard - 如何发送 SET_UP_MENU 命令