Как полностью заблокировать пользовательский ввод в C ++ (UNIX) - PullRequest
2 голосов
/ 05 октября 2019

Я работаю над проектом, в котором я хочу задержать вывод в C ++ в UNIX. Вот пример того, о чем я говорю:

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;

Теперь, если пользователь что-то печатает во время продолжения сна, он позже входит в оператор cin, который, пока я могу выдавать соответствующие сообщения об ошибкахЯ бы предпочел не иметь дело с. Кроме того, иногда мне нужны определенные вещи на экране, поэтому я не хочу, чтобы пользователь просто удерживал нажатой клавишу ввода и очищал экран.

Есть ли какая-либо команда, которая полностью блокирует ввод пользователя даже от взаимодействия с экраном? ? Что-то, что я мог деактивировать прямо перед моим заявлением cin, и повторно активировать сразу после заявления cin?

Спасибо!

1 Ответ

0 голосов
/ 05 октября 2019

вы можете использовать блок

#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 (), пока не нажмете клавишу

...