【C言語】abort関数はどういったときに使用する?

C言語プログラムを途中で異常終了させられる関数「abort関数」。

なんでわざわざ意図的にプログラム異常終了させなければいけないのかと思う方もいるかもしれません。

そこで、abort関数の使い方と実際に使用することのある場面について紹介していきます。

abort関数の使い方

abort関数はstdlib.hをインクルードしておくと呼び出すことができます。

 
#include <stdlib.h>
int main()
{
    abort();
}
クリップボードにコピーする

プログラムの処理がabort関数に差し掛かると異常終了という形で強制終了します。

Visual Studioの場合はこのようなエラーになりますね。「abort() has been called」というエラーが表示されます。

abort関数は何が何でも強制終了したいときに使用する

abort関数はマルチスレッドで処理していようが、ファイルを開いていようが関係なく強制的に終了します。

C++で使用することができるtry~catch文の中であっても関係なく終了させられるため、システムを完全停止させたい時に役立ちます。

そのような場面は滅多にないと思いますが、プログラムを強制終了したい場合でexit関数などの正常終了させる関数を使えない場面ではabort関数を実行する処理を組み込むようにしましょう。

正常終了させられる場面ならexit関数を使うこと

異常終了させられるabort関数に対して、強制的に正常終了させられる関数がexit関数です。

開いているファイルを閉じている処理などを適切に行なった上で終了させられるほか、プログラムの終了コードを定義することも出来るので、特に理由がない場合はexit関数を使いましょう。

 
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a = -10;
    if (a > 0) {
        a *= 100;
        printf("%d", a);
    }
    else {
        printf("終了処理");
        exit(100);//Exit Code
    }
}
クリップボードにコピーする

【ピックアップ】スッキリわかるC言語入門

ピックアップ

対象読者  プログラミング未経験~C言語初心者
どんな人に向いている? C言語の基礎を身につけたい方
おすすめ度 5
備考 ベストセラー1位獲得

C言語で最も挫折しやすいポインタを含む基礎をこれでもかというくらい丁寧に解説されているC言語入門書。

Amazonでベストセラー1位を獲得した実績もあり、C言語初心者全員におすすめできる一冊です。

まだ入門書を持っておらず、ネットの情報だけで独学しているという方は、「スッキリわかるC言語入門」を使えばもっと効率よくC言語が身につくでしょう。

コメント

タイトルとURLをコピーしました