Я не могу найти решение, чтобы остановить эту программу от выхода, если я что-то ввожу, пока активна команда Sleep().Отключить ввод пользователя, когда активна команда Sleep()?
cout<<"Start"<<endl;
Sleep(5000); //<--- if I input anything while this is active the program quits after the time ends
cout<<"End"<<endl; //this is outputted after Sleep(),but the program quits immediately after it
Могу ли я как-то отключить ввод пользователя, когда активна команда Sleep(), или мне нужно сделать что-то еще? Пожалуйста, дайте мне свое мнение.
Возможно, добавьте 'std :: cin.ignore (INT_MAX);', чтобы получить любые входные данные, которые буферизуются. Трудно сказать без кода. Или, поскольку это выглядит как Windows, возможно [BlockInput()] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms646290 (v = vs.85) .aspx). –
Простите, но это не полный пример. Показанный код ведет себя точно так же, независимо от ввода. – MSalters
@MSalters Приведенный выше код является общим примером. Проблема в том, что если вы используете этот пример в цикле или части программы ... и вводите что-либо в консоль, когда команда Sleep() активна, программа завершает работу. –