Как проверить, существует ли что-нибудь в cin [C++]

там какой-либо путь состоит в том, чтобы проверить, существует ли что-то в cin? Я быстрый взгляд tryied (), но если нет ничего быстрого взгляда () ожидает входа и это не то, что я хочу.Спасибо

7
задан There is nothing we can do 18 December 2009 в 12:09
поделиться

2 ответа

Вы не можете использовать cin для чтения нажатий клавиш, а затем продолжать делать что-то еще, если нет ничего доступного, что, я думаю, вам может понадобиться. cin является буферизованным потоком и просто не работает таким образом. Фактически, это невозможно сделать с помощью Standard C ++ - вам придется использовать специфические функции ОС.

5
ответ дан 7 December 2019 в 03:16
поделиться

Потоки C ++ и streambufs синхронны, то есть они блокируются до тех пор, пока не будет достаточно ввода для чтения. Не существует переносимого способа асинхронной проверки потока. Рассмотрите возможность вызова функции peek () из отдельного потока.

4
ответ дан 7 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: