1. 형식
형식1) result= timeout()
형식2) result= timeout(timeout_sec)
형식3) result= timeout(timeout_sec, timeout_message)
형식4) result= timeout(timeout_sec, timeout_message, flag)
2. 기능: 이 함수는 인자 timeout_sec초 이상의 시간이 경과되면 프로그램을 강제로
종료하거나 메시지를 주기적으로 출력한다.
3. 설명
(1) 인자 timeout_sec가 정수가 아니면 형변환된다.
(2) 인자 timeout_message가 문자열이 아니면 형변환된다.
(3) 인자 flag이 정수가 아니면 형변환된다.
(4) 인자 timeout_sec은 한계시간에 대한 초단위 값이다.
(5) 형식1)은 현재 설정된 timeout의 초단위 값을 읽기만 한다.
(6) 형식2)는 timeout시 Wel의 에러 메시지를 출력하고 프로그램이 종료된다.
(7) 형식3)은 timeout시 timeout_message를 출력하고 프로그램이 종료된다.
(8) 형식3)과 형식4)에서 timeout_message에 폼 매크로가 사용되었다면 확장한다.
(9) 형식4)에서 flag의 값이 0 이면 형식3)과 동일하다.
(10) 형식4)에서 flag의 값이 0보다 크면 timeout_message를 출력후 프로그램이
종료되지 않으며 timeout의 값이 timeout_sec로 재설정된다.
(11) 형식4)에서 flag의 값이 0보다 작으면 설명(10)과 동일하지만 표준 입력이
있을 때에도 timeout의 값이 timeout_sec로 재설정되는 차이점이 있다.
(12) 설정된 timeout을 해제하려면 timeout_sec의 값을 0으로 이 함수를 호출하면
된다. (즉 timeout(0); 과 같이 호출하면 됨)
(13) 설정된 timeout의 초단위 값이 result에 돌려진다.
4. 사용예
// timeout(5, "프로그램 실행시간이 5초를 초과했습니다!\n");
// for(i=1; i<=1000000; i++) ;
------------------------------ [ 출력결과 ] ------------------------------
|