c++中的exit()


無論正在執行的是哪個函數或者控制機制,exit()函數都將導致程序終止。

當遇到main函數中的return 語句時,C++程序將停止執行。

其他函數結束時,程序並不會停止。程序的控制將返回到函數調用之后的位置。然而,有時候會出現一些非常少見的請款,使得程序有必要在main以外的函數中終止。要實現這一點,可以用exit函數。

當調用exit函數時,無論是哪個函數調用了該調用,都將導致程序停止。如下實例所示:

test_exit.cpp

#include <iostream>
#include <cstdlib>

using namespace std;

//Function prototype
void someFunction();

int main()
{
  someFunction();
  return 0;
}

void someFunction()
{
  cout<<"This program terminates with the exit function.\n";
  cout<<"Bye!\n";
  exit(0);
  cout<<"This message will never be displayed\n";
  cout<<"because the program has already terminated.\n";
}

結果:

 

 注意:

要使用exit函數,必須包含cstdlib頭文件。請注意,該函數采用整數實參。這個實參是希望程序返回到計算機操作系統的退出代碼。該代碼有時在程序外部使用,以指示程序退出是成功結束還是故障結果。在上述示例中,傳遞的退出代碼是0,該代碼通常在程序main函數結束時在return語句中使用,表示程序成功結束。另一種發出該信號的方法是使用C++命名函數EXIT_SUCCESS。這個常量是在cstdlib中定義的,可以按以下形式和exit函數一起使用:

exit(EXIT_SUCCESS);

當然,一般認為良好的編程實踐是,盡可能在main函數結束時終止程序,所以,許多程序員僅使用exit()函數來處理出錯的情形。在這種情況下,應該使用錯誤代碼來表明發生了問題。這可以通過使用另一個C++命名變量EXIT_FAULT來完成。在Cstdlib中定義的這個命名常量被定義為:通常表示當前操作系統下未能成功退出的終止代碼。以下是使用示例:

exit(EXIT_FAULT);

 

警告:exit()函數將無條件地關閉程序。因為它繞過了程序的正常邏輯流程,所以應該謹慎使用它。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM