본문 바로가기

잡동사니(OLD)/예제로 작성한 코드들

[Library] abort 함수 설명 밎 사용예제

 

내안의작은세상
MSDN Library Korean Version

abort

기본 요약 설명:
프로그램이 비정상적으로 종료된다.
오류메세지에 대한 정보는
API MessageBox 에 있는 내용이 출력된다.

원형
void abort( void );

함수명

필요 헤더파일

호환성

abort <process.h> or <stdlib.h> ANSI, Win 95, Win NT

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version

Return Value( 리턴 값 )

abort 함수는 리턴을 하지 않는다 원형을 보면 리턴타입이 void 아닌가? 하지만 함수 실행시 _exit 함수를 호출하게 되며 exit 함수에서 exit을 반환한게된다

Example( 예제 )

/* ABORT1.C */
#include  <stdio.h>
#include  <stdlib.h>

void main( void )
{
   FILE *stream;

   if( (stream = fopen( "NOSUCHF.ILE", "r" )) == NULL )
   {
      perror( "파일개방 실패!" );
      abort();
   }
   else
      fclose( stream );
}
설명:
perror(); -> perror 함수는 오류메세지를 출력해주는
함수입니다 ( perror 함수 자세히 알기 )
abort(); -> 만약 파일을 못찾을 경우 if 문을실행하게 되고
오류메세지 출력후 비정상적으로 프로그램을 종료합니다.
/* ABORT2.C */
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
    printf("첫번째 메세지 출력!!\n");
    abort();
    printf("요건 절대실행되지 않습니다!!\n");
}
설명:
1_실행해보면 첫 번째 메시지가 출력됩니다.
2_다음 라인에서 abort(); 함수를 만나게 되어 프로그램은 강제로 비정상적으로 종료됩니다
3_그로인해서 마지막에 출력메세지는 절대로 출력되지 않습니다~
------------------------------------------------------------------------------------------------

출력결과

ABCORT1.C
파일 열기 실패!: No such file or directory abnormal program termination
ABCORT2.C
비정상 적으로 프로그램 종료
Abnormal program termination
------------------------------------------------------------------------------
번역판기준: MSDN Library 6.0
최초작성일: 2007.11.16
마지막수정: 2007.11.26
수정&번역 : 이용범(top6616@gmail.com)
** 이 글로 인하여 문제가 될 경우 여기 로 문의해주세요!
** 저는 상당한 실력자는 아니기 때문에 오역이 있을수가 있으니 양해해주세요
*** 퍼갈 경우 원본출쳐 는 꼭 남겨주세요!!
------------------------------------------------------------------------------