Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" _ "

_Exit 

_exit 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

_Exit – завершение работы программы

Синтаксис:

#include < stdlib.h >
void _Exit (int code);

Аргументы:

int code – определяет статус завершения работы, 0 (EXIT_SUCCESS)– нормальное завершение работы, отличное от нуля значение (EXIT_FAILURE) – завершение работы с индикацией ошибки.

Возвращаемое значение:

Ничего не возвращает.

Описание:

Функция _Exit (), завершает работу программы. Аргумент code указывает статус завершения работы. При завершении работы в штатном порядке рекомендуется указывать значение статуса 0 или EXIT_SUCCESS. В противном случае рекомендуется указывать отличное от нуля значение или EXIT_FAILURE.

Функция _Exit (), в отличии от функции exit (), не вызывает функции зарегистрированные функцией atexit (), не закрывает потоки данных и не удаляет временные файлы.

При вызове функции _Exit () закрываются все открытые программой файлы и каталоги, и затем завершается работа программы.

Пример:

В примере, организуется бесконечный цикл, в котором анализируются символы, вводимые в стандартный поток ввода-вывода. Как только программа встречает символ ‘e’, она завершает работу, вызывая функцию _Exit (). В качестве параметра функции указывается статус EXIT_SUCCESS, так как завершение работы штатное. При этом функция завершения работы f_MyEnd, зарегистрированная с помощью функции atexit, вызвана не будет.


#include < stdio.h >    //Для puts ()
#include < stdlib.h >   //Для _Exit () и atexit ()

//Декларация функций, которая будет вызвана при
//при завершении работы с помощью функции exit ()
void f_MyEnd (void);
                     
int main (void)
{    int Pwork=0;
     int MyChar=0;
     //Регистрация функции, которая будет вызвана при
     //нормальном завершении работы
     Pwork = atexit (f_MyEnd);
     //Проверка регистрации функции MyEnd_s
     if (Pwork != 0) { puts (“Ошибка регистрации функции f_MyEnd ”); }
     //Бесконечный цикл
     while (1)
     {    //Считывание символа из стандартного потока ввода-вывода
          MyChar = getchar ();
          //Если считан симовл ‘e’ завершаем работу программы
          if (MyChar == ‘e’)
                _Exit (EXIT_SUCCESS); //Завершение работы программы
     }
     return 0; 
} 

Функция, вызываемая при завершении работы
void f_MyEnd (void)
{   //Вывод сообщения о завершении работы
     puts (“Работа завершена”);
}

Результат:

После ввода символа 'e' работа программы завершилась.

e



Смотри так же:

_Exit, _exit, abort, atexit, exit


Яндекс.Метрика

Рейтинг@Mail.ru