2015-09-04 3 views
-1

У меня есть простой код, как показано ниже.Как прекратить ждать ввода пользователем в C++?

int a, b; 
    cin >> a >> b; 

Если пользователь вводит только один номер, программа будет висеть там, ожидая другого входа. Как автоматически остановить ситуацию и позволить пользователю вводить два числа снова, если нет времени на входе, например 30 секунд?

+0

Возможный дубликат [Можно остановить cin от ожидания ввода?] (Http://stackoverflow.com/questions/8569027/possible-to-stop-cin-from-waiting-input) – OldProgrammer

+0

Решение зависит от платформы , Какую платформу, ОС и IDE/компилятор вы используете? –

+0

Я запускаю его на Mac OS X. –

ответ

0

Существует нет простого/универсального способа сделать это. Существуют отдельные методы для Linux (будильники, обработчики сигналов, сопровождаемые ручным сбросом и сбросом потока) и Windows (не уверен - реализовать свою собственную линию чтения с использованием сырого ввода клавиатуры?), Но все они довольно сложны и труднодоступны.