Функция Устанавливает программу обработки Ctrl-Break.
Синтаксис #include
void ctrlbrk(int(*handler)(void));
Файл, содержащий dos.h
прототип
Описание Функция ctrlbrk устанавливает новую функцию обра-
ботки прерываний, адресный указатель которой на-
ходится в переменной handler. Вектор прерывания
0x23 модифицируется для вызова названной функции.
Названная функция не может вызываться непосредст-
венно. Функция ctrlbrk вызывает программу обра-
ботки прерываний системы DOS, которая, в свою
очередь, вызывает названную функцию.
Функция обработки прерываний может выполнять лю-
бое количество операций и системных вызовов. Дан-
ная функция не должна возвращаться непосредствен-
но в программу; программа обработки прерывания
возвращает 0 для завершения текущей программы, в
противном случае программа продолжает свою рабо-
ту.
Возвращаемое Функция ctrlbrk не возвращает никакого значения.
значение
Переносимость Функция уникальна для системы DOS.
Смотрите также getcbrksignal
Пример:
#include
#include
#define ABORT 0
int c_break(void)
{
print("Нажато Control-Break. Выполнение программы завершается.\n");
return(ABORT);
}
main()
{
ctrlbrk(c_break);
for (;;)
{
printf("Цикл ...\n");
}
}
Вывод:
Цикл ...
Цикл ...
Цикл ...
^C
Нажато Control-Break. Выполнение программы завершается.
delay
Функция Замораживает выполнение программы на интервал в
микросекундах.
Синтаксис #include
void delay (unsigned milliseconds);
Файл, содержащий dos.h
прототип
Описание При вызове функции delay выполнение программы
приостанавливается на время, определяемое парамет-
ром milliseconds. Теперь отпала необходимость в
калибровочном вызове delay. delay отсчитывает ин-
тервал в миллисекундах.
Возвращаемое Нет.
значение
Переносимость Эта функция работает только на компьютерах совмес-
тимых с IBM PC.
Смотрите также nosoundsleepsound
Пример:
/* выдает звук с частотой 440 Гц в течение
500 миллисекунд */
#include
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}