首页 > 解决方案 > 如何在 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 语句之后重新激活的东西?

谢谢!

标签: c++unixinputcin

解决方案


您可以使用

#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() 阻塞,直到你按下一个键


推荐阅读