C言語 プログラムの異常終了 - stdlib.h - [ abort ]

2008.10.28 Tuesday | by LRESULT


ログラムを異常として終了させるには、abort()を使います。

exit( EXIT_FAILURE )と似てますが、こちらの方が強い意味での異常終了です。


abort
書式 void abort( void )
機能 プログラムの異常終了
引数 なし
戻り値 なし


OSや、コンパイラなどによって abort()後の処理が違うようで、
VC8の場合は、「Debug Error」や
「This application has requested the Runtime to terminate it in an unusual way.」
などと表示され、

C++Builderの場合は「Abnormal program termination」という
メッセージが表示されました。





サンプルコード
「test.txt」ファイルが無い状態で、ファイルオープンが失敗した際に、
abort()でプログラムを終了させてみます。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  FILE *fp;
  char *fname = "test.txt";
  fpos_t pos;

  fp = fopen( fname, "rb" );
  if( fp == NULL ){
    printf( "%sファイルが開けません¥n", fname );
    abort();
  }

  fseek( fp, 0, SEEK_END );
  fgetpos( fp, &pos );
  printf( "ファイルサイズ:%d¥n", pos );

  fclose( fp );
  return 0;
}




結果
abort()で終了したので、何らかのエラーメッセージが表示されるかもしれません。

致命的なエラーの際に使います。

カテゴリ:C言語 stdlib.h | 22:55 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/91

トラックバック