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

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

" E "

erf,erff,erfl 

erfc,erfcf,erfcl 

exit 

exp,expf,expl 

exp2,exp2f,exp2l 

exp10,exp10f,exp10l 

expm1,expm1f,expm1l 

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 () в начале вызываются все функции зарегистрированные функцией atexit () в порядке обратном регистрации. Если какие то функции были зарегистрированы несколько раз, то они будут вызваны столько раз, сколько раз были зарегистрированы.

Затем сбрасываются и закрываются все открытые программой потоки данных и удаляются все созданные временные файлы (созданные с помощью функции tmpfile()). Затем завершается работы программы.

Пример:

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


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

void f_MyEnd (void); //Декларация функций, которая будет вызвана при
                     //завершении работы с помощью функции exit ()

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
Работа завершена



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

_Exit, _exit, abort, atexit, exit


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

Рейтинг@Mail.ru