Прерывание бесконечного цикла - C (СИ)
Формулировка задачи:
У меня есть код с бесконечным циклом. В этом коде долго происходят действия. Я хочу сделать проверку, если пока код выполнялся, в консоли написали stop, то в начале следующей итерации цикл прерывается. Думаю, надо сделать как-то так:
Но как именно это делать?
while(true){if(getInput() == "stop"){break;}/*Something long*/}Решение задачи: «Прерывание бесконечного цикла»
textual
Листинг программы
#include <stdio.h>
#include <windows.h>
int main() {
while (GetAsyncKeyState(VK_ESCAPE) == 0) {
printf("for exit press <ESC>\n");
Sleep(100);
}
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы: iostream.h и windows.h
- Объявляем функцию main()
- Запускаем бесконечный цикл while, условием которого является значение функции GetAsyncKeyState(VK_ESCAPE)
- Внутри цикла выводим сообщение
for exit press <ESC>с помощью функции printf() - Используем функцию Sleep(100) для задержки выполнения программы на 100 миллисекунд
- Если значение функции GetAsyncKeyState(VK_ESCAPE) изменилось, то есть равно не 0, то выполняем выход из цикла с помощью оператора break
- Возвращаем 0, чтобы указать, что программа успешно завершилась