abort – аварийное завершение работы
Синтаксис:
#include < stdlib.h >
void abort (void);
Аргументы:
нет аргументов
Возвращаемое значение:
нет возвращаемых значений
Описание:
Функция abort() вызывает немедленное аварийной завершение работы программы, то есть без вызова функций, нормального завершения работы, зарегистрированных функцией atexit().
Ее действия эквивалентны вызову функции raise (SIGABRT). То есть при вызове функции abort() посылается сигнал SIGABRT с помощью функции raise(). Сигнал SIGABRT будет доставлен, даже если он был замаскирован.
Затем закрываются все открытые на данный момент потоки данных, и завершается работа программы без вызова функций нормального завершения работы, зарегистрированных функцией atexit().
Пример:
Эта программа при вводе символа ‘q’ нормально завершает свою работу, а при вводе символа ‘a’ вызывает функцию аварийного завершения работы. На ввод других символов программа не реагирует.
#include < stdio.h > //Для printf(), getchar()
#include < stdlib.h > //Для abort()
int main (void)
{ int NewChar;
//Бесконечный цикл
while (1)
{ //Считывание символа из стандартного потока ввода-вывода
NewChar = getchar ();
//Если считанный символ ‘q’ выходим из бесконечного цикла
if (NewChar == ‘q’) break;
//Если считанный символ ‘a’ производим аварийное завершение работы
if (NewChar == ‘a’) abort();
}
//Выводим признак нормального завершения работы
puts (“End Work”);
return 0;
}
| |
Результат:
Если пользователь ввел символ ‘q’, то результат будет следующим:
Если пользователь ввел символ ‘a’, то результат будет следующим:
Смотри так же:
_Exit,
_exit,
abort,
atexit,
exit
|