Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Остановка по нажатию кнопки с клавы


Автор: sol78 17.10.2007, 15:59
Я пишу программу на си (консолная аппликация), таковы требования,  
есть какой то центральный цыкл, который остонавливается когда кончается время или пользователь может остановить ее нажав кнопку  - q.   Проблема я не могу поймать это "событие"- нажатие на кнопку, дело в том что все стандартные функ. ожидают ввода, останавливая аппликацию. 
Подскажите может кто знает???


Автор: pDaunis 17.10.2007, 16:17
Во-первых есть функции не останавливающие работу программы (getch() кажется, но точно не помню)
Во-вторых можно проверять нажата ли кнопка перед тем как получать ввод 
Код

if(kbhit()){
getchar()
}

Автор: sol78 19.10.2007, 19:43
getch() - ждет ввода

Автор: JackYF 19.10.2007, 20:14
sol78, насколько я видел подобные проги, там решалось выносом рабочей части (цикла) в отдельный поток.

Автор: jonie 19.10.2007, 22:03
Код

    while(1) {
        if(_kbhit() && 'q'==getch()) return 0;
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)