void ctrlbrk(int (*fptr)(void))
Прототип:
Описание:
Эта функция не определена стандартом ANSI С.
Функция ctrlbrk() используется в качестве замены обработчика нажатия клавиш CTRL-BRK на новый обработчик, на который указывает fptr. Эта последняя процедура будет вызываться всякий раз при нажатии клавиш CTRL-BRK. Нажатие CTRL-BRK генерирует прерывание 0x23.
Как только программа закончит исполнение, Borland С++ автоматически восстановит старый обработчик нажатия клавиш CTRL-BRK.
Если новая процедура возвращает 0, то программа будет завершена. В противном случае исполнение программы будет продолжаться.
Пример:
Следующая программа выводит числа от 0 до 31,999 до тех пор, пока не будут нажаты клавиши CTRL-BRK, что вызывает завершение работы программы.
#include <stdio.h>
#include <dos.h>
int break_handler(void);
int main(void)
{
register int i;
ctrlbrk(break_handler);
for (i=0; i<32000; i++) printf("%d ", i);
return 0;
}
break_handler(void)
{
printf("This is the new break handler.");
return 0;
}
#include <stdio.h>
#include <dos.h>
int break_handler(void);
int main(void)
{
register int i;
ctrlbrk(break_handler);
for (i=0; i<32000; i++) printf("%d ", i);
return 0;
}
break_handler(void)
{
printf("This is the new break handler.");
return 0;
}