
比較表を使ってexit(0)とexit(1)の違いを調べましょう。
比較表
比較基準 | 終了(0) | 出口(1) |
---|---|---|
基本 | プログラムの「正常/正常」な終了/完了についてオペレーティングシステムに報告します。 | プログラムの「異常な」終了についてオペレーティングシステムに報告します。 |
構文 | 出口(0); | 出口(1); |
を示します | タスクが正常に実行されたことを示します。 | エラーのためにタスクが途中で中断されたことを示します。 |
マクロ | EXIT_SUCCESS | EXIT_FAILURE |
出口の定義(0)
関数exit(0)はC ++のジャンプ文です。 プログラムを終了したり、コントロールをプログラムから終了させるために使用されます。 プログラムの正常終了についてオペレーティングシステムに報告し、プログラムのタスクが正常に完了したことをオペレーティングシステムに知らせます。 戻りコード「0」に使用されるマクロは「EXIT_SUCCESS」なので、出口出口(EXIT_SUCCESS)で使用できます。 exit(0)関数の一般的な形式は以下のとおりです。
void exit(int return_code);
ここで、仮パラメータ "return_code"は呼び出し元の関数に返される値です。 呼び出し元の関数に返される値はゼロまたはゼロ以外の値になるため、returen_codeは常に整数型です。 プログラムでexit(0)を使用している場合、exit(0)は標準ライブラリ関数です。ヘッダーファイルを使用する必要があります。
例でexit(0)を理解しましょう: -
#include //標準ライブラリ関数int main(){FILE * ptrFile; ptrFile = fopen( "myfile.txt"、 "r"); //(ptrFile == NULL){cout << "ファイルを開くときにエラーが発生しました"; 出口(1); //代わりにexit(EXIT_FAILURE)} exit(0)を使用できます。 //代わりにexit(EXIT_SUCCESS)を使うことができます
上記のコードでは、「myfile.txt」という名前のファイルを開こうとしています。 ファイル“ myfile.txt”へのポインタを作成しました。 ファイル“ myfile.txt”が存在する場合、ポインタはそのファイルのアドレスを指し、exit(0)が実行されてファイルが正常に開かれたことをオペレーティングシステムに報告します。 ファイルが存在しない場合、ファイル“ myfile.txt”へのポインタはNULLを含むようになり、exit(1)は、エラーなどのためにファイルが開かないことをオペレーティングシステムに報告してexecuteを取得します。
出口の定義(1)
関数exit(1)もC ++のジャンプステートメントです。 exit(1)もプログラムを終了させますが、異常終了しました。 exit(1)は、プログラムが正常に実行されなかったこと、または何らかのエラーまたは他のエラーが原因で実行の途中で中止されたことをオペレーティングシステムに報告します。 プログラムでexit(1)を使用している場合は、exit(1)関数は標準ライブラリ関数で定義されています。プログラムの先頭にあるヘッダーファイルに特に言及する必要があります。
リターンコード1のマクロはEXIT_FAILUREなので、exit(EXIT_FAILURE)のように書くことができます。
プログラムの助けを借りてexit(1)関数を理解しましょう。
//スタックの一番上にある要素をポップするint pop(int stack_name、int size、int Top){if(Top == - 1){cout << "stack is underflow"; 出口(1); } else {int s = s [トップ]; 上 - ; 戻る }}
ここでは、スタックの最上部が空である、すなわちTopが-1であることが判明した場合、スタックの最上部で要素をポップするように関数が定義されています。 スタックが空のため、スタックの一番上の要素をポップするタスクは正常に完了しません。次にexit(1)を返します。 ポップ機能のタスクが完了していないことを示します。 そのため、実行は異常終了します。
exit(0)とexit(1)の主な違い
- プログラムが正常に終了したことを示す唯一のreturn_codeは「0」です。 プログラムの異常終了を報告するには、「0」以外の任意の値を使用できます。つまり、「1」、「2」、「3」を使用できます。つまり、ゼロ以外の値はプログラムの異常終了を示します。
- return_codeの代わりにマクロを使用することもできます。 同様に、「0」の場所には「EXIT_SUCCESS」を使用できますが、「1」の場所には「EXIT_FAILURE」を使用できます。
類似性:
- exit(0)とexit(1)はどちらもC ++のジャンプステートメントです。
- exit(0)とexit(1)の両方を使用してプログラムを終了します。
- exit(0)とexit(1)はどちらもヘッダファイルの下に定義されています。
- exit(0)とexit(1)はどちらも、プログラムの終了ステータスをオペレーティングシステムに報告します。
注意:
exit()関数が何も返さない場合は、プログラムの終了ステータスをオペレーティングシステムに明らかにしたくないという意味です。
結論:
プログラムの終了ステータスを報告するために、exit()関数を使います。 出口(0)は、プログラムのタスクが正常に完了したことをオペレーティングシステムに知らせます。 出口(1)は、プログラムのタスクが完了しておらず、プログラムの実行が異常終了したことを示します。