c++ - 如何在 C++ (UNIX) 中完全阻止用户输入
问题描述
我正在做一个项目,我希望在 UNIX 上延迟 C++ 的输出。这是我正在谈论的一个例子:
cout << "You walk through the darkness, no sign of life in sight" << endl;
usleep(1000000);
cout << "What would you like to do?" << endl;
cin >> userCommand;
现在,如果用户在 usleep 进行时输入了一些东西,它稍后会进入 cin 语句,虽然我可以给出适当的错误消息,但我宁愿不处理。此外,有时我希望屏幕上有某些东西,所以我不希望用户只是按住 enter 并清除屏幕。
是否有任何命令可以完全阻止用户输入甚至与屏幕交互?我可以在我的 cin 语句之前停用并在 cin 语句之后重新激活的东西?
谢谢!
解决方案
您可以使用
#include <stdio.h>
...
cout << "You walk through the darkness, no sign of life in sight" << endl;
getch();
cout << "What would you like to do?" << endl;
cin >> userCommand;
getch() 阻塞,直到你按下一个键
推荐阅读
- flutter - 如何在颤动中对来自firebase的多个值求和
- c# - 尝试在 Entity Framework 6 中启用自动迁移时出现 System.NotSupportedException
- ansible - 无法在清单文件中的远程主机上安装 httpd
- javascript - 使用按钮创建输入并添加到数组 Javascript
- powerbi - Power-BI中基于条件的计算
- visual-studio - 将 Visual Studio 更新到 16.11.1 后大摇大摆输出 Failed to load API definition 错误。更新前项目(.Net)工作正常
- android - 如何在颤动中附加两个列表
- rest - 获取实体的所有子资源的自定义路径
- react-native - 如何使用 react-navigation 自定义抽屉导航?
- amazon-s3 - 为什么在 AWS Java SDK 中上传 Multipart 文件比简单的 putObject 调用花费更多时间