Форум программистов, компьютерный форум CyberForum.ru

Как можно ввести с клавиатуры символ не прерывая цикл в программе - C++

Восстановить пароль Регистрация
 
BarsicPlus
1 / 1 / 0
Регистрация: 21.05.2014
Сообщений: 11
18.08.2014, 13:20     Как можно ввести с клавиатуры символ не прерывая цикл в программе #1
Ввод символа.
Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе.
То есть, у меня есть цикл, который постоянно выводит сообщение. И когда пользователь нажмет соответствующую клавишу на клавиатуре, цикл должен остановиться.

C++
1
2
3
4
5
6
7
while(1) {
    cout << "Enter symbol a" << endl;
 
    //Ввод символа
 
    Sleep(100);
}
Цикл должен повторяться до тех пор, пока пользователь не введет нужный символ.
Но использовать cin, getch нельзя, так как они прерывают выполнение цикла

То как быть? Какой оператор не прерывает выполнение цикла при вводе символа?
Спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2014, 13:20     Как можно ввести с клавиатуры символ не прерывая цикл в программе
Посмотрите здесь:

Одну строку инициализировать в программе, другую-ввести с клавиатуры. Сравнить данные строки по длине. C++
C++ Как ввести EOF с клавиатуры?
C++ Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Как не прерывая программу запустить процесс? C++
C++ Заменить в тексте символ, который вводится с клавиатуры на символ *
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
18.08.2014, 13:28     Как можно ввести с клавиатуры символ не прерывая цикл в программе #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Используйте kbhit().

Выход из бесконечного цикла по нажатию кнопки.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
18.08.2014, 13:30     Как можно ввести с клавиатуры символ не прерывая цикл в программе #3
Цитата Сообщение от BarsicPlus Посмотреть сообщение
Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе.
создаешь поток который отдельно следит за вводом с клавиатуры
гуглишь thread
http://scrutator.me/post/2012/04/04/...-world-p1.aspx
BarsicPlus
1 / 1 / 0
Регистрация: 21.05.2014
Сообщений: 11
18.08.2014, 15:51  [ТС]     Как можно ввести с клавиатуры символ не прерывая цикл в программе #4
SatanaXIII, Большое Спасибо. Я написал такой код:
(Может кому пригодится)

C++
1
2
3
4
while(!_kbhit()) {
    cout << "Text-Text-Text" << endl;
}
cout << "You pressed: " << (char)_getch();
dzrkot, также спасибо. Многопоточность - это сейчас для меня немного за тяжело. Но в будущем в самый раз)
Yandex
Объявления
18.08.2014, 15:51     Как можно ввести с клавиатуры символ не прерывая цикл в программе
Ответ Создать тему
Опции темы

Текущее время: 08:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru