Прерывание потока программы в C - PullRequest
1 голос
/ 01 августа 2009

У меня работает цикл, который увеличивает значение переменной на каждой итерации, и я хочу иметь возможность нажимать клавишу на клавиатуре, чтобы остановить цикл и сообщить окончательное значение переменной. Дело в том, что я не могу понять, как это сделать на C. Я чувствую себя глупо, потому что мне кажется, что я упускаю из виду какой-то очень простой и легкий способ сделать это, но все, что я пытаюсь, останавливает цикл до * 1002. * Я нажал клавишу на клавиатуре, которая, по сути, является полной противоположностью того, что я хочу.

По сути, я хочу сделать что-то вроде этого:

 <code>
   while (key is not pressed)<br>
      increment value<br>
   print final value<br>

Имеет ли это смысл? В любом случае, какие-либо советы о том, как это сделать в C?

Ответы [ 11 ]

0 голосов
/ 01 августа 2009

Функция, которую вы вызываете для чтения символа, блокируется. Если там нет символа, вы хотите, чтобы он вернулся.

Магические условия поиска здесь неблокируемые и небуферизованные.

...